Since when was this bug in software? So how long did the testnet have time to discover it?
While a bug is easy to spot in hindsight, this but looks like it would have not easily emerged even in testnet unless testnet was being used quite hard. Yes, I know complex scripts to can do that and if a series of complex to simulate transactions are not out there, maybe they should be.