What happens when the same wallet (private key) is used on several machines? Let's say I copy my wallet to another computer and start using it there. What happens? Can both computers send and receive payments to the same address(es) in the wallet?

A different scenario with the same results: someone steals my computer and starts using my wallet. I have a backup and start using that. Can we do it?
A wallet is a combination of private keys, and transactions that spend from/to it.
Since somewhere in the 0.3 series, bitcoin will detect transactions from a key of yours that you did not create yourself, and count them as spends.

This means that if you duplicate your wallet on several machines, they will all be able to do spends, and observe spends by others. Probably as much as you would hope for, but there are a few caveats:


The wallet contains 100 pre-generated keys to simplify backups, so the first 100 new keys used by both clients will remain the same, but afterwards they will diverge, i.e. start using different keys. You do not want this to happen, which means you will need to synchronize the wallet files at least once every 100 transactions (i.e., copy from one place to the other).
If one of the clients is not yet aware about a spend done by the other (for example, it was offline at the time of the transaction submit, and hasn't caught up with the block chain yet), it may produce a transaction that uses the same input, in other words: a double spend. The software is not able to deal with this, as it will consider its own transactions unquestionably valid. This will probably result in an unusable wallet.


In short: there are some provisions for detecting spends by copy of a wallet, but it's certainly not an encouraged or supported use case.