But you don't need to wait for the full confirmations. It's very unlikely that the money won't get there once spent. As I mentioned before, payment processors will insure against lost money just like banks or credit card processors would.
After waiting for a single block confirmation (taking up to 10 minutes), it is very unlikely that the transaction will be overwritten by a longer, differing block chain segment, yes; however, if your transaction is currently only accepted by half of the miners in the world (before being confirmed in a block) then there is about a 50% chance at that given period of time that a block will be found that doesn't include your given transaction, thus voiding it. It takes significant time to disseminate your transaction through the mining community and when it is, there is nothing that forces the given miners to accept your transaction into their currently working new block. Because of this, it is possible (and very likely if one does not include a transaction/finders fee) that a given transaction could be not successfully added to the chain.
Currently there are no payment processors that insure against such things which is what I was talking about when I suggested a PayPal-like transaction that would do the following:
1. Authenticate the sender and make sure that he/she has sufficient funds.
2. Reduce the balance in the sender's account.
3. Increase the balance in the receiver's account.
4. Confirm the seller that the transaction went through.
5. Proceed to issue a BTC transaction between the sender and receiver on the actual BTC network, making sure that it goes through and resending if it does not.
*Finishing step 5 will take up to 10 minutes but the transaction for the user would be confirmed after step 4, taking only a couple seconds at most and allowing for things such as groceries to be bought in a timely manner.