Occasionally, but not often, some similar problems are reported, related to file system, in various languages. For example, sometimes it is not possible to delete a file and create immediately a new homonymous one. Although, the operation succeeds after a short delay or several reiterations.
Maybe in your case the Save and SaveCopyAs operations create the temporary file called 6DED7E10 and you observe the similar system limitation. I think that you have found the right approach using a loop. Maybe you can also add a small delay after failures. Probably it is also good to distinguish the errors (to not repeat the loop in case of certain critical hardware errors, for example) or maybe to limit the time of such loops (to avoid infinite loops if the operation does not seem retriable).