I think its not bad that devs are changing code. Why? Because they might come up with something much better.
That only means the network is evolving.
No worries here!
But on the other hand changing code means:
if devs new that the code was bad but used it - this "network" was only a demo (not beta, not alfa) and may be it must be restarted;
if devs discovered that code was bad only now - there is no guarantee that their new code will not be bad again, this is incompetence.
The issue is, you can't test for everyones varying hardware setups, network connections, or delays in requests and that makes getting all of the requests and consensus difficult to map out. Our system worked perfectly when scaled on 50 nodes running on different hosting platforms and our scaling projections appeared as though it would work up to 10s of thousands of nodes with no problem.
And then we launched. The system actually worked quite well at first but once the nodes started to climb and we started to see people running them in very different locations and sometimes improperly setup on different hardware and connection speeds which caused unforeseen bugs to pop up. We also saw several attacks on the network in just the short time it has been around. We saw malformed packets, DDoS attacks on nodes, as well as people sending fake requests, or at least, what to the network looked like fake requests. These various aspects were hitting the fork processing so often that the network was starting to skip blocks and hit 2 minute, sometimes 3 minute block times. Over time, it was causing the network to stop. This is unacceptable so changes needed to be made.
Bottom line is, you can't prepare for every possible occurrence and these are growing pains that Bitcoin and NXT both saw in the early days. They saw multiple attacks and even rolled back their block chains multiple times throughout their early days.
Keep in mind, we have posted an entire write-up on how the system is meant to work. You are more than welcome to try to "restart" and come up with a solution. We are always open to input from the community. The problem is that in order to use node-uptime as a property in our system, all nodes must send out requests saying they are alive with specific information and those requests must all get accepted and confirmed through the network with consensus and must do it in a 60 second timeframe. If you have any idea what that means, it's not an easy task, especially when you start incorporating slow connections, systems with different time settings (which we saw when we added windows), and attacks on nodes disrupting the entire system.