-X uses stat and that takes quite a long time, especially on Win32. It leaves the possibility that between your failed attempt and the return of the test, another program (or another copy of this program), will get in and create the directory.
But as javafan pointed out, that isn't necessary. $! tells me the reason for failure. See Re^4: Generate a unique ID.
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.