Code:
LCDOUT $FE, $C0
sure, this always set the cursor at the begining of the 2nd line. You could use another variable to keep the current LCD position offset and increment it each time you have a successful keypress.
Code:
        If (key != 0) and (key != lastkey) Then
                LCDOUT $fe, ($C0+Line2Position), key   ' Send key out serial port
      		HSEROUT [key]			'Send key to hyperterminal
                Line2Position=Line2Position+1
                If Line2Position=17 then
                        Line2Position = 0
                        LCDOUT $FE,$C0,rep " "\16 ' clear line 2
                        HSEROUT [13,10]
                        ENDIF

		Endif