the Value overflow incident required a rollback of the Blockchain
It was still solved before reaching coinbase maturity. That means, all normal transactions were unaffected. Only coinbase transactions were reverted, and only those, which had below 100 confirmations, and in that case, none of them were spent, so in practice, there was no real loss of coins (because you cannot consider a coinbase transaction to be "yours" before reaching that maturity, it is the whole point of waiting 100 blocks, just to avoid loss of funds).
Goods or services that were bought with those transactions may have been completed and during a event like this the vendor could lose out on their payment.
This is also false, because in case of chain split, usually transactions are confirmed in both chains. If some transaction is valid, but included in the wrong chain, it is not automatically "banned", it is simply included in the right chain, because it is still broadcasted in the network.
The 2nd example the Bitcoin core devs found a way of printing unlimited Bitcoin but it found it early enough to fix it.
Again, coinbase maturity is the answer. As long as coin amounts are explicitly visible, there are enough eyes looking at total supply to catch it. We have even RPC commands that can count all coins in circulation, we have pages showing capitalization, and tracing the supply.
Also note that even if those coins will be unnoticed for a long time, then still, it is possible to remove them in a soft-fork way. Because soft-forks are about making currently valid transactions invalid in the new version. So, if that history will be set in stone, then still, it is possible to apply a soft-fork, that would burn overprinted coins, until reaching the proper amount. Note that it is possible to move additional coins into fees first, and then miners could claim less amount in the coinbase transaction.
Then, it will be fully compatible with old clients, and both versions will meet in the same point. Because you can try, and reintroduce bug from Value Overflow Incident in the latest version, and recompile it. You will still synchronize the whole chain, because there was no hard-fork used to fix this bug. And in practice, none is needed.