Misbehaving IO subsystems aren't going to honour a read-only flag on a database. Corruption is typically IO subsystem (much rarer memory) related.
Gail Shaw
Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability