I am afraid that making no buffering flag really work may do more harm than good by affecting apps IO performance if they use it.
Surely correctness is more important here? If an app explicitly requests no buffering, it must already understand that this can significantly impact performance if I/O is done incorrectly And aside from benchmarking software, I believe it's also commonly used by database software. Though probably a much rarer use case to be running databases under wine... (excepting sqlite?)
Also, O_DIRECT implies limitations (e.g. extra alignment for data), not sure this can work as is.
Direct I/O on Windows broadly has the same limitations as O_DIRECT according to the documentation (access must be aligned and an integer multiple of block size): https://learn.microsoft.com/en-us/windows/win32/fileio/file-buffering#alignm... -- https://gitlab.winehq.org/wine/wine/-/merge_requests/9809#note_126000