Serial.flush() hangs on 2Mbps Baud Rates

wlong007:
Again, according to the ATmega8U2 datasheet (see page 175) it should be able to support this speed.

The chip being able to support that speed and the code on the chip being able to support that speed are two completely separate questions. You've shown that the first should be affirmative. But the datasheet doesn't say anything about the code running on the chip.