"@Frank: that's exactly the same as I'm doing it, but I'm still getting the pace violation error."
My code is MVSC C++ and my api code uses the winsock2 send function, so I know exactly when the message is sent to TWS.? It's worked with several different TWS versions.? The 1015 ms value came through trial & error, but has been rock solid.? Do you know for sure your api code is sending the message when you call it?