There is no much code to show here. I know device A is sending the right data because I can see it with a logical analyzer. I know device B, like 1 out of 5 times, is reading some bytes wrong because I can see these variables values in an LCD. That makes me think that it is a problem with the line. I'm still troubleshooting.

Code:
'Code at device A, PIC18F4550
SendData:
   pause 5
   SEROUT2 PORTB.7,32,[STR RFID_IN\7]    
goto SendData

'Code at device B, PIC16F19197
ClockInDataArray        var byte[7]

SERIN2 PORTE.1, 32, 5, BOARDSEARCHFAILED, [STR ClockInDataArray\7]
   hours_0 = ClockInDataArray[0]
   minutes_0 = ClockInDataArray[1]
   seconds_0 = ClockInDataArray[2]
   hours_1 = ClockInDataArray[3]
   minutes_1 = ClockInDataArray[4]
   seconds_1 = ClockInDataArray[5]