I'm having the same problem, and by the time of this post I have not solved it.
The problem seems to be the USB-serial converter chip being washed out, meaning it's firmware is no longer working correctly. Depending on your board this could be an ATmega 16u2 or (like in my case) 8u2.
On the board you'll see two ICSP headers. One near the big chip, which is for loading the bootloader on the 2560 while the other is near the USB port, this is the one used for programming the 16u2/8u2. You'll need an STK500 programmer, the Atmel's Flip software (on windows) and the firmware .hex file provided on your arduino-1.0.x/hardware/arduino/firmwares/arduino-usbserial/ folder. Also you can use another arduino, loaded with the ArduinoISP sketch instead of the STK500 and the cmd prompt line
avrdude.exe -C [pathToArduinoFolder]\arduino-1.0.1\hardware\tools\avr\etc\avrdude.conf -c arduino -p at90usb82 -P [COM_Port_where_arduinoISP_is_connected] -F -U flash:w: [pathToArduinoFolder]\arduino-1.0.1\hardware\arduino\firmwares\arduino-usbserial\arduino-usbserial-mega.hex
This is as far as I have gotten, the program runs fine but the 8u2 I'm trying to program seems to be not responding.
Hope this helps, if you fix your problem with the second approach let me know.
lsusb
ordmesg | tail
if your device registers with the operating system. In Windows ... Best guess is the device manager under control panel. \$\endgroup\$