Nah, I guess he's right, man! You could issue a transaction to the network to send your BTC to another address of your's and at the same time issue the payment-transaction to your 'victim's' BitcoinQT. They'd now think your transaction paid for your goods.
You'd first need to figure out how to isolate the victim's Bitcoin-Qt from the network without them realizing it. Otherwise, they will see the transaction that you issued to another address of yours and they will refuse to accept the transaction that you try to send to their Bitcoin-Qt.
If you send to their Bitcoin-Qt first, then they will relay the transaction to the network, and the network will refuse to relay your transaction that pays to your own address.
Another way would be to issue the payment transaction to the network, but then mine the next block with the BTC going to a wallet of your own!
Sure, if you have enough hash power. You've still got to find someone that will accept your unconfirmed transaction and that doesn't have identifying information about you. Even then, you won't be able to reliably pull off the attack unless you have enough hash power to pull off much more profitable attacks against the network (in which case it's silly to be using all that hash power to try and steal $1 hear and there).
But those things only can happen if you accept 0-confirmation transactions.
And if your victim can't identify you.