The only way this ever worked was pure luck, relying on the OS:
- Writing file blocks in the desired order — which is not guaranteed.
- Writing filesystem metadata in the desired order — also not guaranteed.
- Not caching any important pages, so that the VM page cache isn't out-of-sync with the block device after it silently discards writes.
- Not caching any important filesystem metadata, so that the filesystem implementation isn't out-of-sync.
I'm surprised (1) anyone thought this was anything other than a risky hack, and (2) not only did RPi actually ship this broken design, but did so in ROM, and thus cannot patch it.
[edit]
Surprised at the downvotes for posting a technical rebuttal to an inflammatory comment.
As someone with a few decades in OS/kernel development, this doesn't seem like a controversial or even difficult question. The implementation is broken and cannot work reliably.
If you disagree, then please explain why you believe the USB mass storage emulation is not broken.