I think you are confusing some things here,
Shadowfury333.
Spring is not peer-to-peer (so no quadratic scaling of network connections) because every packet is sent from one client to the spring host and then from the host to all clients. The spring server still doesn't run the simulation and so has no clue what's going on until a client says "I won!", so similarly all clients are equally "right" due to a lack of a canonical state.
(I apologize for calling everything "spring server" and "spring host" even if there's special names for them).
Spring uses synced simulation. In video encoding terms, that's basically purely P frames.
Since transferring the full game state after every action is infeasible for virtually any real time multiplayer game (you can probably get away with it in turn based games like chess), almost every contemporary multiplayer game relies on synced simulation to a certain extent, although most newer games include having certain states transmitted for replay (and anti-desync) purposes. Examples include SC2, DotA 2, Path of Exile and many more.
In video encoding terms, that's what I frames are used for.
Running synced simulations in a peer-to-peer environment sounds like hell to me. If you have a server, then all packets are distributed in a defined order (and are thus received by the clients in a set order). Not sure how P2P would handle that.
(Note that this implies that each client is only allowed to execute actions after the host has received the respective packet and returned it, which means that the game can feel "stiff" to control if your latency is higher. Client prediction is a common technique to work around this).
My point is, P2P or dedicated hosting are not directly related to how you run your simulation of the game. But spring does not use P2P, and thus P2P is not the reason for desyncs.
Basically, you can run synced simulations with or without the server also running the simulation (I reckon TF2 hosts would run a simulation of their own, but I'm not sure). Spring (and e.g. Warcraft 3) doesn't, so desync is an issue (and replays can only play forward).
Do you have an example of a game that uses P2P hosting? I'd be interested to learn about how to maintain consistency in that...