I like the idea of the QR code containing the signed transaction. This means that the private key can remain private?
To sign a transaction in advance, one must know who they're paying. The pre-signing idea was mainly to manipulate the denomination so the merchant doesn't have to return change - it still doesn't negate the need to deliver a private key. In other words, if I want to give you 2BTC, then, instead of giving you private key A worth 10BTC, my phone could pre-sign a transaction against key A that sends 2BTC to key B and the other 8BTC back to me, and then I only give you key B.
casascius: couldn't you just as easily print bills that contain signed transactions and then when they're scanned they just get sent out. No need to create provate keys either. The wallet could just print bills directly from the wallet. The money doesn't leave home until the bill is scanned and the transaction inserted.
Naw, sorry, without knowing who to pay, and if you're not giving a private key, it's not possible to pre-sign a useful transaction. But you can still have the benefits of what you're after - you can always print bills and keep a copy of the private keys (either a paper copy or in a file). If you lose the bills and can beat the thief to redeeming them using your copy, you'll get the money right back.