How about using the FILE_FLAG_WRITE_THROUGH to CreateFile on Windows? Description: Instructs the system to write through any intermediate cache and go directly to disk. The system can still cache write operations, but cannot lazily flush them.
I guess you can remove a few of the calls to FlushFileBuffers() if write through is enabled? /Ludvig