My mention of WriteFileGather was because it could have been handy to use it in LMDB, but that function only works for unbuffered writes. Since working with a mapped file meant we must only use buffered writes, that precludes our using WriteFileGather.
Ayende seemed to think "we're not using WriteFileGather, so we should be ok" and completely missed that the actual point was to only use buffered writes. And so his code used unbuffered writes and suffered from data corruptions. Doh.