When using HSERIN/HSEROUT, you MUST use DEFINE. Then later, If you want to alter the baudrate of whatever else feature of the USART on the fly, then you use SPBRG, TXSTA, RCSTA.

If I remember correctly, If you don't specify any DEFINE, PBP assume 2400 bauds.

Another thing, always begin without timeout label for testing purpose, then add it. However, an ISR is more efficient.