Actually, it can be a permission issue.
I've just hit this case on XP, with Administrator privileges.
After making a file writable (readonly attribute clear, cygwin correspondingly shows it as writable), VIM still shows it as readonly.
In my case, the issue was under Advanced permissions.
Looking under Windows Explorer at the file, right-click to get Properties, under the General tab the readonly bit is clear. Now going to the Security tab, it shows that I only have read permission. Clicking on the Advanced button, under the Permissions tab, with my user account selected, it shows I have Special permissions not inherited from anywhere, instead of "Full Control" inherited from the containing directory as I see for my other files.
One fix is to click Edit... to edit permissions in the Permissions tab. However, it is much simpler (at least in the case where you have Administrator privileges) to just do :w! in VIM as others have suggested. This fixes the file's permissions to be writable ("Full Control").
(I'm unclear how this particular file ended up in this "Special" read-only state. Leaving that as outside the scope of your question.)