It really does point towards how different systems perform the math... could this be in the rand function itself? I don't know enough to be able to add much to the discussion and I'm sure you've both looked in many different places, but perhaps there is something in the rand function that causes the rare differential to occur and the sheer size of our map makes it statistically more likely to happen? When running a client/server on the same machine, you're getting the same method of computation occurring which makes the mismatch not happen.
When the checklist is made and compares rand, how does it account for temporary timing differences between server and client? ie: If the client is 1 second behind the server and perhaps a rand call that the server made 1 second ahead and has already made multiple calls later, how does the checklist reconcile this time differential? And how frequently is the rand function being called?
I wonder if a worthwhile test would be to just run the rand function a bunch of times on different machines known to cause mismatch and see if there are any variances.
I should get myself back in to coding, I haven't really done any for close to 20 years but I'm sure I could pick up C++ fairly quickly. (I used to do Pascal, some Perl (which has similarities to C) and some assembly). As always, it just comes down to finding the time in a busy life to devote to it
