I thought of a new method for implementing internal accounts. Currently I've implemented it at the application level, and I'd like to know if you find any flaws, and would like to get suggestions.
The method is described here : http://bitquestion.com/static/files/paper_accounts.pdf
The main difference from the current account method is that currently there is no way to track confirmation from moves between internal accounts. When some internal move is made, the balance is credited at the receiving account as confirmed.
My proposed method keeps track of the balance confirmation status across all moves.
If you like the idea, maybe I can try to port that myself within bitcoind.