Hello,
I had a similar problem and found this thread. After removing the exclamation marks in my code uploading works again.
I also tried your code. With the exclamation marks it won't finish uploading. Always displaying the following:
avrdude: stk500_2_ReceiveMessage(): timeout
Without the exclamation marks uploading works.
I'm using an Mega 2560 with an EthernetShield. And Ubuntu 10.04 with Arduino 0021 64bit.