Well on the flip side, banks also wouldn't carry your money from A to B if they didn't get payed for it. So there's that.
And BC.I isn't in theory preventing this transaction from happening; it's actually encouraging it by trying to get it to a miner, which it's failing at for obvious reasons. On the other hand, wallets are preventing you from double spending the transaction because BC.I appears to be persistent on relaying a doomed transaction, so in practice, it is preventing you from moving the funds - even if through another transaction, indirectly.
Rest assured all these 'irrelevant usability issues', as myself and many developers would call them, will be worked out before long.