Hi,
This....
Code:
TXSTA.5 = 1                                 ' Enable USART TX function
HSEROUT (slave sends reply only when spoken to by master)
TXSTA.5 = 0                                 ' Disable USART TX function
...is also a bad idea.

The HSEROUT will load TXREG with the last byte to be sent, then the program continues. If the next line turns off the transmitter the last byte won't be sent properly.

Poll TXIF to determine when you can turn off the transmitter.

If this is for anything more than messing around, use RS485 or something designed for the purpose.

/Henrik.