Does the Win64 APIs still have this bug? If so, why? There was no backwards compatibility story for 64-bit. Everyone had to recompile.
But really, can't BackupRead and BackupWrite be modified to detect an async handle and scream as loudly as possible in an event/system log?
In the cases of using BackupRead/Write on an async handle, can it lead to data loss? I'd figure fixing any data loss (or corruption) issues would be paramount.
[Changing the behavior in Win64 would be the worst kind of breaking change: The silent breaking change not detected at compile time. -Raymond]