You're using True mode... why messing with bit banged SERIN/SERIN2/DEBUGIN while your PIC have built-in USART???? No advantage at all, and use more codespace as well...

HSERIN/HSEROUT and away you go.

I NEVER use internal OSC when I have to deal with async serial communication. OK OK I hear some "I did it, I still do it and it works all the time" .. well ... good for you