Damn now there is a problem.
After more reading, some failed attempts, and more mucking around, I used Arduino as ISP through a UNO and the IDE reported that the bootloader loaded into the MEGA2560. I also noted the LED started a slow blink. I assume it worked.
Next I got a blink sketch and moded the blink time down to 100, but when I tried to upload through the USB I get a fail.
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer
An error occurred while uploading the sketch
Had an idea to check the 2560 chip by uploading a blink sketch through the ISP, and more reading, it seamed to work because the LED blinks very fast.
If the 16U2 loopbacks, and the 2560 programs, I'm thinking something between them is blown.
EDIT
I did it all again, set Arduino to ISP, set COM to UNO COM, directed it to the MEGA, Burn Bootloader and IDE says ok and the LED does the slow blink. Plug in MEGA, set to MEGA COM, change to USBasp, upload fast blink and it fails to load.