If you are viewing a ro file with vim and then exit, without editing the file, with :q nothing is done to the file. If you are just viewing a ro file and not planning on editing where is the problem?
I don't know about other people, but if I set a file's permissions to read only, it would be because I wanted a safety net against accidental corruption of that file. I would certainly expect any editor I invoked to view the file to work in read-only mode, but I would also expect that, if I (in a moment of carelessness) overrode that, the permissions system would act as a backstop.
What more warning do you need? vim tells you it is ro, just like deleting a ro file does, and it is your choice to override it or not. This is the behavior I expect. It warns me and allows me, the user, to make the choice. It does nothing without me telling it to.
I think I know now how the thing happens; vim must be temporarily changing the file mode to perform the write operation (which is of course legal if the file belongs to you). But I don't think it should do that. It's not expected behaviour. Certainly it should not do it without giving you a much more informative warning