The SessionError method in RFSDK 6.0.0 traps all Winsock errors. Error 4006 is "Wrong protocol or connection state for the requested transaction or request," so your client's TCP connection dropped unexpectedly. Please let me know what version of RFSDK you are using so that I can look into it.
Timeout errors are usually due to other circumstances and is usually either related to RF connectivity, network latency, or complex processing code. If your application is running large or complex queries or updates that take more than a second or two to process, the clients can be dropped. The RFStatus method is like a "ping" to keep the client connection alive, and can be used during the long transaction to keep portables from timing out.
If you are not running long queries, check into their RF Network. If you are on a large network, ensure that all unnecessary protocols are filtered out by the Access Point. Filtering by IP or MAC address can also reduce RF traffic.
Access points in close proximity that are on the same channel can cause connectivity problems. If there are multiple access points in the building, try turning off all but one of them and running the app.
Lee Tibbett
IntelliTrack