First of all, I'd recommend you to not use an XMLHTTP request just for checking if the file exists. This is because you're going to download the file afterwards, and therefore you wasted one request which also retrieved the file contents. So basically you're downloading the same file twice...
Now, I don't really see the point of just checking if it exists, why don't you simply let Plus! try to start the download and check the Success parameter once Plus! finished the request? There are so many other problems which may cause the download to fail, therefore it's quite stupid to only try to check if the requested file exists before downloading it. Plus! is smart enough to do that by itself!
Also, in a real situation, when you want to make an update checker, you'd first send a request to the server to retrieve a file with information about the latest version, such as the version number and the download location, let's say an XML file. Then, you compare the current version number with the latest version number from the information file to see whether there's an update available. After that, you'd want to notify the user about this and if the user chooses to install the update, the script should start the download. By then, you've already retrieved a bunch of information about this new version through your initial request, so the file should exist whatsoever! In a real situation, you're better off checking the Success parameter because you don't know what could go wrong.
After all, all this has been superseded by Plus!' built-in update system for scripts and skins anyway...