You are trying to do a timing-critical function (Serial Comms) on a PICs crappy internal oscillator, and you're wondering why it's not working?
But that (and other horrible things) aside... you should have a GOTO POLL, not a GOSUB POLL. You're filling up your stack and promptly dissapearing destined never to RETURN...
Also... when you have a problem and you jump to NXT (I haven't checked the syntax of your SERIN command btw), it performs a GOTO and NOT a GOSUB... therefore it's NOT a subroutine so the RETURN statement is not valid.
Bookmarks