Can no longer upload ANY sketches to Arduino Mega 2560 - timeout at upload

The processor physically can not change a program memory location unless it is running from the boot loader partition of the memory. The only thing I can think could have happened is that you some how jumped into the bootloader code at a some point and that the normal bootloader did the damage.
As I said code running insider the normal space can not write to program memory.