Any chance serial drops zeros?

Point granted on the stop bit timing.

I just went through wiring_serial.c and it doesnt seem to check the error bits. I am looking at whether I can easily chain to it and check for error codes at each character. That would increase the odds of a buffer overflow so you wouldnt want to leave it turned on, but it would be good for testing this type of problem.

If you did have bad or mismatched hardware, the framing errors should pop right out.