With the present implementation I cannot reliably send any significant length of data to an Arduino UNO at even 19200 bps without over running the fixed length internal serial buffer.
Why not? You should be able to read serial data far faster than it arrives.
I did not have this problem with Arduino IDE 23.
Prior to 1.0, outgoing serial data was not buffered. Now, it is. In order to not increase the size of the Serial instance, the incoming buffer size was cut in half. The other half is now the outgoing buffer.