For me, this doesn't work.
0. Setting up the scene, iterating 1000 times, then resetting the body positions, calling NewtonInvalidateCache(), reiterating 1000 times, the resulting scene is different.
1. Setting up the scene, iterating 1000 times, then destroying and recreating the bodies like before, calling NewtonInvalidateCache(), reiterating 1000 times, the resulting scene is different.
2. Recreating the whole world instead works => the resulting scenes are equal for me
I used public beta 2.0 for my tests. Interestingly, the scenes were all equal after 100 iterations, this might be related to my test scene consisting of 4 boxes being close to each other and later on being apart. My Threadscount was 1. I also tried calling NewtonInvalidateCache() at several positions between or after recreating of the bodies or at both places as well as using the same NewtonCollision or releasing it and creating a new one. Sometimes this led to different results of the 2nd iteration, but never the same as the 1st one (except for case 2 where It recreated the whole world).

Am I using it wrong? Is NewtonInvalidateCache() actually ment to solve this problem or is it ment to be used for something else?
Best regards
Marc