Rounding will help with determinism in X% of the cases, and exacerbate the nondeterminism in 100-X% of the cases. That is, if the implementation is nondeterministic, anything from 2.0000 to 2.9999 rounds to 2, but 1.9999 rounds to 1 (for example) even though it may be 2.0001 on the other side. (Doesn't matter where you put the rounding rule, there will be some two values that will be very close but round differently.)
That being said, doing rounding of all your physics variables between each physics tick is actually a good way of achieving better determinism. If both client and server rounds to network precision after each simulation step, it won't matter whether a state was initially derived from a "network checkpoint" or from a "previous step's output."
We did this for There.com; the tool that generated the network marshaling for our object structs also generated code that rounded the same way that the network would round when packing/unpacking the data. We ran this on all state that changed after each simulation tick. It actually was a not insignificant fraction of our math budget at the time ?
("the time" was 800 MHz Pentium III days)