But forking is a consensus decision of miners on the chain. Nothing to do with the DAO or its implicit or explicit terms. By that logic I can write a contract that dictates future behaviour of anyone choosing to mine this particular block chain.
I can see how forking in the case of a technology change is acceptable but I can't see how forking just to undo certain contracts would ever be acceptable. That's the foundation the whole thing rests on, if contracts can be rolled back at will (and this nicely exposes that it can be done to all those that weren't informed about this) then they are worthless.
That's what makes this attack so elegant, it strikes at the heart of the problem rather than 'just' take some money.
An even worse attack would have been to do this slowly over a longer period of time, which would make it even harder to roll back (but would have increased the chance of discovery before the damage was this large).
That must have been a tough decision on the part of the attacker.