I don't see anything in there that would require write access. The most obvious fix would be to support FILE_DISPOSITION_IGNORE_READONLY_ATTRIBUTE,
I don't understand, how do you propose to support that flag while still mapping READONLY to ~0222?
but opening the file read-only and faking the attributes setting could probably also be made to work.
I guess we could do that, but what if we come across an application that tries to set attributes like HIDDEN or SYSTEM on a read-only file and expects that to persist? I can see the argument for "it's not worth worrying about", though...