Just to make sure I'm following you...
From the K50, the logic analyzer shows 0xA5, 0x8A, 0x96, 0xAC
So the PC->K50 USB is ok... you see "ATZ", but the K50 uart TX is what's wrong? The above should have been "ATZ"?

I'll look back over the uart setup, but in the meantime try transmitting a "U" (0x55) on the uart and measure the bit times with a scope
Code:
txtest:
 DO
 LOOP WHILE PIR1.4 = 0
 TXREG1 = $55
 GOTO txtest
At 38400 bit times should be ~26us