The second part confuses me a bit, though. Do the exchange's accounting systems get out of sync because some of the original transactions aren't going through because a mutated version has already been confirmed in the blockchain?
No. The original transactions will have gone through, especially if using something like the reference client Bitcoin-qt/Bitcoind, which will not usually broadcast invalid transactions. The only thing which doesn't "go through" is the expected transaction ID.
So for example, Mt. Gox, which was using an automated system to approve withdrawals (as stated in the article), would consider a withdrawal transaction approved before it was actually confirmed in the blockchain.
Actually that's what they should have done. They should have assumed their transaction was valid/approved once broadcast. When and if they believed it wasn't they should have investigated the reason(s) why, instead of simply sending new transactions.
Once a mutated version of that transaction was confirmed in the blockchain, Mt. Gox's accounting system had a problem because a transaction it assumed was confirmed (and therefore had already "lost" the Bitcoins for) wasn't actually confirmed.
No. Once a mutated version of the transaction was confirmed MtGox's accounting system had a problem because a transaction it assumed was confirmed,
was confirmed, but someone told them it wasn't, and to check they used the irresponsible method of relying on transaction ID (which has the known malleability issue).