Versuch mal mit nem Quarz mit dem du die genaue Baudrate bekommst, etwa mit 11.0592 MHz.
Die verwende ich mit AT90S2313 broblemlos bei 115200 Baud, allerdings mit Handshakeleitungen CTS und RTS um eben diesen Datenverlust zu vermeiden.
Bei XON/XOFF kannst du nicht alle Binärwerte schicken wie vorher, das ist eher was für ASCII, da muss also dein Protololl drauf passen.

Anstatt die Baudrate zu ändern würd ich auch mal versuchen, die Datenbytes in grösseren Zeitabständen zu schicken. Die PC-seitige FiFo ist mit 16 Bytes, dicht. Der PC ist zwar schneller als dein AVR, hat aber mächtig anderes Zeug am Hals...