my bet is more about possibility of a buffer overflow.
Try this one for the transmitter
Code:
Set transmit register to transmitter enabled
DEFINE HSER_TXSTA 20h

' Set baud rate
DEFINE HSER_BAUD 2400

cmcon = 7

Main:

    If (PORTA.1 = 0) then
        hserout ["1"]
        while PORTA.1=0 : Wend : pause 500
        endif
    if (PORTA.1 = 1) then
        hserout ["2"]
        while PORTA.1=1 : wend : pause 500        
        endif

goto main
end
what about your crystal speed? Config fuses? Schematic?