What you may want to do, is one of two things...

put a character spacing of 1000 (defined at top of program),

or instead of Looping to the very beginning. Loop to the output again...
You may be transmitting data too fast for the LCD to respond, and hit the clearLCD before bring printed.

using your code with a slight mod:

DEFINE CHAR_PACING 1000

Pause 1000
start:
SEROUT portb.1, 1, [$FE,1] 'supposed to clear screen
pause 40
Loop:
serout portb.1, 1, ["hello world"]
pause 400
goto Loop
end


Dwayne