fungus,
I am sold that HardwareSerial need to be fixed. The problem is to sell this to the Arduino developers.
Arduino 1.0 beta 3 is really bad. Serial gets loaded even if you don't use it. You can't easily control buffer sizes even by editing HardwareSerial.h/HardwareSerial.cpp. There are both input and output buffers and they must be the same size.
One value controls the size of all eight buffers on a Mega and they are all allocated, even if you don't use any Serial ports.
Here are links to what I found: