There is one drawback which might prove this solution not so useful.
User space and file system driver might have different ideas about what
"lower case" is.
In user space, "lower case" depends on locale settings, "BLÖDES DOS"
becomes "blödes dos" in German but not in English. I'm not even talking
about UTF-8, yet.
File system drivers usually cannot take user settings into consideration.
They must define a mapping that is independent from the current process,
otherwise, strange things happen. For example, NTFS stores the file names
alphabetically sorted, implementing a case-insensitive sorting. If the
mapping would depend on the user's native language, the file system might
not find a file because it moved in the sorting order.
In short, I'm not sure how useful O_NOCASE is, because it is difficult
to describe its semantics in a few sentences correctly. Because it
won't interfere with the normal behaviour if it is not used, it might
be interesting to see how it works as an experiment.
Regards,
Martin