But when bitcoin-qt starts up, will it find out about spends that aren't recorded in its particular wallet.dat? I know it can, but will it actually update the balance and know it can't spend the old outputs now?
The problem with copying a wallet between two computers is that they are really two separate wallets that happen to share some keys (assuming you are using bitcoin-qt). They will eventually get out of sync and report different amounts.
Do not attempt to copy one wallet over another when they get out of sync. You will lose bitcoins. It is safer to assume that you can't spend from a copy of a wallet without losing bitcoins.