Further update: Turns out that the desync was caused by having the .NET Framework 3.5 SP1 on two of the machines, but just plain old .NET Framework 3.5 on the one that was getting out of sync. You can play the game with .NET 3.5 or .NET 3.5 SP1, in single or multiplayer, but in multiplayer all of the players must be on the same version (SP1 installed or not).
Microsoft .NET Framework 3.5 Service Pack 1 and .NET Framework 3.5 Family Update (KB951847)
Update type: Important
The Microsoft .NET Framework 3.5 Service Pack 1 is a full cumulative update that contains many new features building incrementally upon .NET Framework 2.0, 3.0, 3.5, and includes cumulative servicing updates to the .NET Framework 2.0 and the .NET Framework 3.0 subcomponents. The .NET Framework 3.5 Family Update provides important application compatibility updates. This update is provided to you and licensed under the Windows Vista and Windows Server 2008