Concerning the offline transactions feature...
Would a feature like this be used for a large company like Best Buy? Best Buy would create multiple wallets on each cash register that would be offline. At the end of the day the wallets are collected, imported on an online computer, and then broadcasted.
It would be used by
anyone that wants to store their private keys offline, but still manage their wallet on an offline computer. This
does include companies.
The company would have a secure office somewhere with a non-internet-connected computer. They would create one wallet per cash register, and the copy the watching-only version to each register. Then the registers could monitor transactions, and generate addresses for customers, but the register would
not be able to spend any of the money.
Then if the company wants to move the cash, they can create the transaction from the register, but the txs can't be signed. Instead they are copied to a USB key, taken to the secure location, and the offline system signs all of them. The final transactions are taken back to the internet and broadcast.
But this is useful for anyone who wants top-notch security. If I have more than $100 in BTC, I'll be keeping it in a wallet that has never touched the internet. By using this feature, it is virtually impossible for an attacker to compromise your keys, because the private keys have never left the offline computer. Some creative USB key viruses might succeed, but that's a big stretch, requiring a very specific, targeted virus -- and if you're concerned about that, you can do something creative using the raw transaction blocks of text (perhaps convert them to QR code and scan from the offline computer? then you never even plug in a USB key).
The community here has come up with all sorts of command-line tools for doing this, but they are all complicated and pretty much only accessible to the die-hards. I believe that Armory will bring this functionality to anyone who wants to use it, and they might even figure it out without a tutorial! If that works, then I've succeeded! (btw, you
can add donations to offline transactions the same as online transactions
)
EDIT: to answer one of your questions more directly.... wallets are never copied/moved after the initial distribution. Once they are in place, the only thing that is moved/copied between systems is transaction files (*.unsigned.tx and *.signed.tx).
In fact, the offline computer doesn't even need the blockchain! That's innovation! (the other solutions I mentioned above which are complicated, do require making sure the offline computer maintains a sync'd blockchain)