Async32 on Terminal Server

our application works fine when installed in local machine.

If we move our application to terminal server and try to access port we have some probels
Reading causes exception when there is no data available

EVaCommError: Read error (38), Reached the end of the file.
code is very simple
with comport do
      while ReadChar(ch) do
        s := s+ ch;

of cource we could write exception handler .. but I'm confused we this occurs only in terminal server. 
and I think that readchar sould return false when there is no data?

Are there multiple instances of apps all trying to use/read from the same COM port?

No, only one single instance. Version is, d2007.

It's unclear why this would be terminal server related.

What if you do a check VaComm.ReadBufUsed before doing ReadChar?

Thanks! It looks likes this helped !