If you have to reinstall xampp when you move machines you're doing something wrong.
Download this: http://www.apachefriends.org/download.php?xampp-win32-1.6.7.zip
Unzip or extract it to the usb drive. You will finish up with a folder called xampp on your usb drive (for instance, I have K:\xampp\). Inside there you will find the executables which start and stop xampp. No need to run any batch files (*.bat). Xampp should automatically start itself when you boot up.
If I take my usb drive from one machine to another xampp still works but the drive letters are different, which only means that shortcuts made on one machine become invalid on another.
You shouldn't need to copy your files over from usb to hd, and it may even cause you problems (occasionally files get corrupted in this way).