The PAUSE 1000 above is handy if you want to loose incoming data 
So do you have any information how the data is modulated and sent? Do you have any access to the it's source code or not? If the baudrate and mode are good, use a scope an look if you see anything going out of your IR receiver. If at least you have some signal, it could be the accuracy of it.
Let's say you're using internal OSC on both side (transmitter and receiver) and both are a little bit out of range.. there's no chance to have something good at the end.
If you're using the default LCD pin assignement, you need to disable the analog comparator on PORTA or your LCD will probably never work
Try this one bellow and post your results
Code:
'
' PIC Configuration
' =================
@ __CONFIG _INTRC_OSC_NOCLKOUT & _MCLRE_OFF & _LVP_OFF & _WDT_OFF & _PWRTE_ON & _BODEN_ON
'
' Hardware configuration
' ======================
PORTA=0
PORTB=0
TRISA=0
CMCON=7 ' Disable analog comparator
TRISB=%00010000 ' RB4 as input (Serial comm)
'
' Variables definition
' ===================
B0 var byte
'
' Constants definition
' ====================
Include "modedefs.bas"
'
' ////////////////////////////////|\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
' Program Start Here
' ////////////////////////////////|\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
'
PAUSE 500
LCDLoop:
Serin2 PORTB.4, T2400, [B0]
lcdout $FE, 1,"N:",B0," D:",DEC b0
GOTO LCDLoop ' returns to beginning of loop
Bookmarks