No problems

The PIC it's self is not really a string type setup, but PBP gives it a good shot by treating strings as an array. The STR modifier is for that. Yes, more string handling might be nice, or a different way of handling them... But we are so limited on memory the way it is with most PICs that it may be a shot in the foot.

CALL -- that is for "CALLING" an ASM function.

The TIME OUT/GOTO label is just that. a GOTO.
So wherever you send things after a serial time out do not use a RETURN.
Code:
SERIN2 myRX,396,100,delay,[wait ("N"),data]

GOTO loop

delay:
        myVar=myVar+1
        CALL OnScreen 
RETURN
In the above case replace the RETURN with GOTO LOOP.
Looks like that is what you want....