UART is garbled when running at more than 9600 bps
Definitely sounds like a timing issue. I think your clock is running too fast and instead of bit 7 being sampled, the following stop bit (HIGH) is shifted into the shift register.