Well I know it about the interference being blamed on antivirus. We have had similar incidents for which we gave the same explanation by the same twists of reasoning, but when its our customers that hit it and they are unwilling to remove the antivirus to test it (merely disable doesn't actually work with most antivirus software when you're trying to probe for the problems it causes) so it never gets truly tested.
[¹Every so often, the NT file system folks dream of changing the deletion model to be more Unix-like, but then they wonder if that would end up breaking more things than it fixes.]
In my testing, 99% of programs that don't pass FILE_SHARE_DELETE to CreateFile are safe to do so, and 99% of these don't pass it because they create via fopen() which doesn't know. fopen() probably should pass FILE_SHARE_DELETE because it originated on UNIX where that was the behavior.
Do that little bit, that is, find a way to change the default behavior to FILE_SHARE_DELETE asserted, and I can test for the rest, as to whether or not such a program will actually break. A new flag to MoveFileEx and CreateFileEx to cross-assert FILE_SHARE_DELETE would work just as well.