Arduino Uno Serial Problems (57600 baud is broken)

I wrote a sketch to dump the UART config. It is using u2x mode for 57600, and it DOES seem to have correct values for the bit rate generator...

Hmm. Now that the Uno has an ATmega chip for the USB/Serial converter, is THAT firmware (LUFA) using the same algorithm for picking bitrates as the arduino firmware? This sort of thing could be explained if the 8u is picking a divisor/setting with +n% error, while the 328 is picking a divisor with -m% error... Having them MATCH is more important than actually being close to the specified bit rate...

void setup()
{
  Serial.begin(57600);
  Serial.print("UCSR0A: ");
  Serial.println(UCSR0A, BIN);
  Serial.print("UCSR0B: ");
  Serial.println(UCSR0B, BIN);
  Serial.print("UCSR0C: ");
  Serial.println(UCSR0C, BIN);
  Serial.print("UBRR0H:L: ");
  Serial.print(UBRR0H, HEX);
  Serial.print(UBRR0L, HEX);


}

void loop()
{
  byte newstatus = 0;
  int c = Serial.read();
  while (c > 0) {
    if (UCSR0A & 0x3C) {
      Serial.print("Error: ");
      Serial.println(UCSR0A, HEX);
    }
    newstatus = 1;
    Serial.print(c, HEX);
    Serial.print(" ");
    if (c == '\r') {
      Serial.println();
    }
    delay(1);
    c = Serial.read();
  }
  if (newstatus) {
    Serial.println();
    Serial.print("UCSR0A: ");
    Serial.println(UCSR0A, BIN);
    Serial.print("UCSR0B: ");
    Serial.println(UCSR0B, BIN);
    Serial.print("UCSR0C: ");
    Serial.println(UCSR0C, BIN);
    Serial.print("UBRR0H:L: ");
    Serial.print(UBRR0H, HEX);
    Serial.println(UBRR0L, HEX);
  }
}