Bear in mind that the USB MIDI firmware is not running on the main atmega2560; it is runing on the atmega8u2 which is used to control the USB port. This is the same for Uno and Mega (although latest revisions are in fact running atmega16u2, which has more memory).
A drawback is that, having flashed to the USB MIDI firmware, you can't upload new programs over USB any more. Until you re-fllash it back, that is. However, since the Arduino Mega2560 has four hardware serial ports (compared to just one on the UNO) an option is to use a second USB-to-serial converter, with an 8U2 (like this one
), to run the MIDI firmware and keep the original USB one for programming the Arduino.