your assuming its 10 minutes, it can be 10 seconds or 50 minutes, though that technically makes it more of a gamble for them since they don't know when a block will be generated. though, couldn't they do a 0 fee transaction in the store and a .001 transaction to themself at the same time, depending how widely used the system is, they would likely get the money transferd back to themselves before the 0 fee transaction made it into a block or got rejected)?
You can't send the money anywhere until it is confirmed in 6 blocks, which is statistically suppose to take an hour.
i mean, say im running a duel client setup, both clients recognize me as the owner of the funds with well over 100 confirmations, one app sends out the transaction with 0 fee to the store, and the other sends it out to another account of mine with a .001 fee.
I see. Currently, the 0 fee one and the fee one would probably both be in the same block (except that they can't be). Nowadays there isn't usually a hold up on transaction free transfers. In the future, when there is a delay for free transfers then yes, this type of attack might increase your chances for success, some, depending on whether miners decide to take the transaction with the fee even though they have seen a different one. Currently, I don't think any miner does that, they just reject the second one they see, fee or not.
On top of that, anyone connected to the network will be able to quickly see that a double spend has occurred, even before the transaction gets put in a block. Everyone in the network has access to the queued transactions, they are just unconfirmed. It is easy to see that the network has rejected the earlier transaction because of a double spend. It only takes seconds. A real attack would take a very elaborate plan and need control of much of the network. It just doesn't make sense for a burger, or anything else that someone wouldn't wait for real confirmation.