Yeah, the only way to make FAT32 files read-only is to mount the filesystem as such. Next time it happens, you should check dmesg|grep mount for clues. An FS issue could cause this, but it normally wouldn't go away by rebooting. I bet the wrong mount script got executed or someting.