It is possible that you are using a While - Wend loop that never ends because the Sig_Sim parameter is always "0".
Check your code and change the Sig_sim variable to 1 at some point during runtime.
Maybe you should try changing the While - Wend with an IF - ENDIF statement.
Alternatively, maybe modify Ischarwaiting() with serial interrupts something like this:
On Urxc Rxcom1_isr
Enable Urxc
Dim Rxdata1$ As String * 80
Dim Rxdata As Bit
Dim Comchar1 As Byte
Enable Interrupts
Do
If Rxdata = 1 Then
Reset Rxdata1
Print Rxdata1$ 'do something with your received data
End If
Loop
Rxcom1_isr:
Comchar1 = Inkey()
Rxdata1$ = Rxdata1$ + Chr(comchar1)
If Comchar1 = 13 Then ' detect end of line can be 10 or any other char.
Set Rxdata
End If
Return
, but it will completely change the concept of your code.