I have been experiencing very strange behavior in the wininet
InternetReadFile API. I am using InternetReadFile to download a 1Mb file via
FTP (Passive). The server side is IIS's FTP server.

The environment is quite involved and by no means orthodox. I am testing on
a custom Windows CE 4.2 platform (handheld device). The handheld is using the
Microsoft Bluetooth Stack with a customized stream driver that can multiplex
several virtual serial devices over the wireless bluetooth connection (SPP)
to a 'black box' which finally demuxes to physical RS232 ports.

I am testing with a DUN RAS connection via a GPRS modem (Siemens MC35
terminal) physically plugged into that 'black box'.

InternetReadFile() is called in a worker thread to manage the timeouts as
per KB176420/KB224318 (fixed 60 min timeouts?!) I have tried pulling 512 and
2048 chunks on each successive call.

The actual InternetReadFile() quirks are listed below, I am only able to
reproduce these quirks with a GPRS/CDMA wireless modem (~1.5KiB/s
throughput). Obviously there are wireless network and mux/demux (bluetooth)
latency