i'm not a pro of SMS but i think it refer to that part
Code:
Loop:

HSerout ["AT+CMGL",13,10]
Pause 1000
HSerin 5000,loop,[wait("REC READ"),STR Caller\5]
HSerout [STR Caller,13,10]

End
probably you need a delay after the HSERIN and a GOTO after the HSEROUT.

I can be wrong but i think it make sense. With the current, after the Hserout, your program can jump to XYZ places so ... hard to say what's happen.