Well, my programs really work with direct polling (send a command, wait and look if an answer is received), and there is no such frequent call of GetInQLen: this can explain why I never caught this type of error.
In your case, I personally will try installing a com callback to process the dialogue through the serial port, something like
InstallComCallback (1, LWRS_RXCHAR, 0, 0, comCallback, 0);
The comCallback can substitute your Time_task() function, except that is called only when the specified event is triggered (this reduces the system activity also). In the comCallback you can manage your communication integrating what is actually in your SerialControl() function or simply calling it.
Please read the note in the functio
n help: depending on your application, you will need to use LWRS_RECEIVE for the Event Mask and 1 for the Notify Count parameters.
Roberto