One method to allow for much greater precision in sub 1.0 btc transactions without losing the fraction is to do it on an accounting system. Like mybitcoin.com, you can send very tiny amounts between accounts if they are both mybitcoin.com accounts then there will be no loss.
The method to achieve that is :
1. throw away the code that rounds everything at two decimal places
2. prevent the main client from *relaying* spam transactions
Problem solved.
So you can expect a number of mybitcoin type systems where users can perform micro transactions between each other, and these systems can tie into each other so that a user on mybitcoin.org can send tiny btc amounts to someone on another system like mybitcoin-competition.com as long as both systems reconsile the account transactions.
It was the case on bitcoin central until I noticed that the account functionality of the standard client was broken, when trying to move amounts between accounts, I noticed that the client was happily throwing away the subcent bits, which led to wrong balances.