As a moderator (on the last half dozen posts):
All parties, please calm down.
Me personal: On the technical part, yes there is a race.
"FileExists" may return true, but by the time the process tries to read the file, the file by that may have been removed by another process. And yes, its unlikely as hell for that to happen in the little time that there is, but that is exactly the definition of race...
On the other hand: There being a race is not a problem. It is an acceptable risk, and can be handled (together with that the target is not readable and other errors).