I am really paranoid about leakage, and for me to even touch a float when dealing with people's money is unacceptable. On Britcoin, there's a whole system of balances and checks at every stage of the various transactions to ensure consistency to all decimal places, and I would not want to throw a spanner in the works because of a tiny rounding error (which would throw up flags and warnings everywhere). Even hearing the words round(...) is like heresy.
Am I the only person here who looks at our documentation for how to use bitcoin from PHP and thinks "people are going to run away screaming" ? See: https://en.bitcoin.it/wiki/API_reference_(JSON-RPC)
I strongly believe you are making the common cases (simple shopping carts or "hold a bitcoin balance for a customer and let them spend it") much, much more complicated than necessary.
What do other people think? I'd especially like to hear from people who have prior experience using PHP to implement shopping carts and other simple applications that deal with money. Did you use BCMATH/GMP?