I don't see a problem with the code. Writing to TXIF is useless, but doesn't hurt (bit is RO, see datasheet). It's cleared automatically when the TXREG data is transferred to UART shift register. So consequently, you wait for TXIF being set before writing to TXREG.
May be wrong baud rate? Or receiver set to 9-bit frame? (Parity enabled or two stop bits).
post your project folder as zip file including simulation....
Which frequency crystal u r using ? have u changed frequency of pic in simulation according to your circuit?