Essentially, because it is "not" a bug. It is more of "not a feature"?
The Bitcoin protocol specifications has never stated that txid are to be unchangeable. In fact making them unchangeable would not be a trivial task. What -is- unchangeable, however, are the inputs, the outputs and the and the amounts for each.
Some people have pushed to make the txid unchangeable, but it has not been considered a priority issue, because one can uniquely identify transactions otherwise. Even if the txid is changed, the inputs would NOT be changed, so one can check if the transaction went trough by checking if a given input is spent according to the blockchain.
Maybe bitcoin would be -better- if txids were uniques, but I find difficult to blame the the protocol for failing to do something it has never been designed to do. Mt.Gox -should- have know about that, and coded their software differently, but apparently they didn't