A. I just received a 1 BTC payment to address 1aaaa, now my wallet has 1 BTC.
B. I send .5 BTC to SatoshiRockPaperScissors, but the entire 1 BTC payment (input) must be sent, so a second hidden payment (output) is sent back to me at address 1bbbb in my wallet,
C. My Bitcoin client now shows my balance is 0.5 BTC, but it doesn't tell me the actual addresses behind-the-scenes that contains what amounts.
D. I look up my 1aaaa address balance on some website, and it says 0 BTC.
The unconfirmed coins shown in your screen shot add up to about 2BTC. Until these payments confirm by being included in a block, your actual Bitcoin balance is 2 BTC more than what is shown. Your local Bitcoin considers sent coins as reserved and spent even if unconfirmed though, and doesn't have a mechanism to cancel out a sent payment nor transmit a message to other Bitcoins to cancel the payment. This prevents you from double-spending yourself, because a miner might finally include the long chain of payments that funded all these, even after many days later. BTC4Amazon might eventually get the original payment, so re-sending another payment is not wise.
You should not send money without the Bitcoin client completely sync'd to the current network block, that is one way to cause a double spend.
There is one straightforward way to clean up all the unconfirming payments. You double-spend them yourself:
1. use a tool like pywallet to remove the exact transaction numbers of any unconfirmed payments to and from you from your wallet,
2. relaunch Bitcoin with the -resync command line option to correct your balance, verify all the unconfirmed transactions are gone,
3. in Bitcoin options, add some voluntary fee to all payments, like 0.01,
4. create a new receiving address in your wallet, and send your entire balance to this new address, only after the blocks are updated and you have several network connections.
5. voila, all those unconfirmed payments on the network you sent are "cancelled" and will never complete, as your good transaction has spent all your existing payments inputs.
You can't make other people's unconfirmed payments to you go any faster. They may never complete if they didn't include a fee or are attempting to double-spend-attack you.