FalconFour: thanks for all the information. It's a good point about not starting an upload when the bootloader is already running; I'll add that to the getting started page for the Leonardo. On the other hand, holding down the reset button should be okay (at least, it's always worked for me). If I'm having problems uploading normally, I'll hold down the reset button, wait for the IDE to say "Uploading..." and then release the button. Can you provide some more details about the problems you're having with holding the button down (e.g. when are you doing it, what exactly happens, which operating system you're using, etc)?