At my last job, I had to make a self-updating front end for Access, and I did it more or less the way MLuckham described. The specifics involved a separate database only containing the current version number and the directory containing ALL the front ends, with each contained in a subfolder with the version number as a name. (I.E. - I:\blah\blah\blah\Project\Versions\2-00-01\FrontEndName.accde) I'm sure a simple text file or spreadsheet would work just as well as a version database, too.
In order to avoid issues, the update routine would compare the front end's version number against the current version in the version file. If they didn't match, the system would then verify that it could find the updated front end file, then it would create the batch file, shell out, kill access, and run the update batch file. (The main reason in verifying the tool can find the updated file is because if you don't, the batch could easily delete the old front end without installing the new one.)
So as long as MLuckham takes things like that into account, he should be fine.