I have a Mega2560 with an Ethernet Shield, and I have found that I have to remove the Ethernet shield to get my sketches to load.
Here is my standard operating procedure to compile/load/test a sketch...
1) Unplug USB/power to Arduino
2) Remove Ethernet Shield from Arduino Mega
3) Plug in USB/power to bare Mega board.
4) Confirm that COM5 shows up in Tool/Serial Port
5) Compile/Load Sketch
6) Fails to Upload the first time and times out...I can tell it fails by watching that the TX/RX LEDs do not blink steadily.
7) Unplug USB/Power, then plug in USB/Power

Confirm that COM5 shows up in Tool/Serial Port
9) Compile/Load Sketch
10) Usually is successful this 2nd time attempt and the TX/RX LEDs flash and Arduino gets to "Upload Done".
11) Unplug USB/power to bare Arduino
12) Re-attach the Ethernet Sheild
13) Plug in Arduin USB/Power
14) Test Sketch
This is becoming a big time sink and I am hoping someone can suggest something to help.
Thank you in advance.