Port told you why and you said NO THAT CAN'T BE IT
It returns different results because the algorithm is different, that's the only explanation. There's a good chance that it's not even written directly into Torque, and is simply using the host OS' generator, or some minor difference in execution is causing it. No, you can't "fix" it, it's an issue with the engine. If you don't like it, write your own generator in Torque or set it up as a TCP offloader. Look at your code. No, using a TCP offload is not going to make it "slow" unless you are dumb enough to be expecting it to return at execution time. Read up on asynchronous IO and you'll be fine. Now look back to me. The code is now diamonds.