Well.. could be DeviceIoControl() but it probably means driver level
functionality in the form of the HAL functions a driver uses to query
Most probably not. At most it could have something to do with buffer
sizes that driver interpret incorrectly.
What i would try before replacing the port is
a) check if the problem appears with all, some or just one serial port using
b) try to see if the FIFO settings in Device Manager -> Ports->com port,
settings page, Advanced button has some effect.