That issue is supposed to have been addressed in latest version of the mega2560 bootloader.
The problem he is having is that the version of avrdude he using (5.10) doesn't understand what the "wiring" protocol is.
I wonder why mine works? I'm using a Mega with v1.0.2.
Test the bootloader.
void setup() {
Serial.begin(9600);
Serial.println("It works!!!");
}
void loop() {
}
Can you upload that code?