You need to keep an eye on the Bitcoin client when doing transactions. I have caught my client making mistakes. Of course, they could have been my mistakes, or maybe I need a new keyboard or mouse, or a better OS, but the point is to double check everything all the way.
Most likely your own mistakes a program can't do what it is not told too it doesn't have a brain. Although, it's wise to always double check the entries you have input just in case you have made a mistake.
The default fee for that transaction would either be 0 or 0.1 mBTC ($0.08) so this was selected by the user.
However I do think it would be a good idea if the client warned users before doing something that 99.9999999999% of the time is simply a mistake. Paying a fee 100x what is required is almost always going to be a mistake and for the one in a million that it isn't the user could always override the warning.
This should be put into place because we all make mistakes even if you do less than the default amount there should be a warning to prevent people from either losing Bitcoin or having to wait a long time.
"WARNING: You have selected are about to send a transaction with a fee of 90 mBTC per kB. This is 900x the minimum required, and more than 450x the average fee paid by Bitcoin users in the last 24 hours. Are you sure you wish to pay a fee of 90 mBTC?
[Yes - Send with 90mBTC fee] [No - Cancel Transaction] [No - Reduce fee to 0.1 mBTC]
Having something like this with the extra facts would be a pretty nice feature, people would be able to find a amount that they are happy with and know what others are doing also.
Although, if you are using a older version of the software which had a lot higher fees then this could be a problem.