Upload without recompiling

If this happens, you need a new Arduino. The Arduino doesn't just randomly loose sketches.

The Arduino Uno bootloader shipped with the first batch can cause arduino boards to not remember their sketch but that just means you need to load the new bootloader.

I think that an 'upload from hex' could be quite useful - Yes we can do it with another program but that's not the point.

And of course a better location for the hex would be good too.