I'm setting up a dedicated leased line first to see if this solves the problem, an IB JAVA API tech advised me as such. I was going to do this regardless, so we'll see if this solves the issue. I didn't try a demo account, and it was through the Gateway. I'll update the dedicated leased line result.
Wouldn't it be smart to parallel your efforts rather than coming back upset when the leased line doesn't fix it? email ibapi pm dcraig God helps those who help themselves ... and faster if you do all the work without procrastination.
If the delay is in your code releasing the order, not sure why dedicated line would help. If the delay is in receiving an ACK for the order, then in my experience it's because the order goes through risk checks before being confirmed. The risk checks might be done on a different server than the one you are sending orders to (so, even if it's 8ms ping to IB's server, could be some extra time between their order server and whatever has to do the risk check). That's just a guess but I've had that experience with another platform.