To keep this simple, let's assume I am using a wallet like Bitcoin Wallet by Bitcoin Wallet developers on an Android smartphone. I go into a coffee shop and buy using my bitcoin wallet. I understand that it is going to take about 5 to 10 minutes before the transaction is first registered on the Blockchain.
How can I then "double spend" my bitcoin?
In theory, double spending is possible but it is not feasible and it is quite hard for you. The reference client only relay the first transaction with input A it sees and ignores any other transaction that spends input A. In order to double spend the transaction, majority of the network would need to forget about your transaction for them to relay it or you must find a pool which can accept your double spend transaction into a block. Precautions can be made however, the merchant can connect to different geographical peers, ensure that the transaction is well propagated, includes a good fees-per-kilobyte and the inputs are already confirmed.