1) It's possible to have a negative balance in an address. How is this possible? What's to stop me spending more bitcoins than I own?
It's not actually possible to have a negative balance. Any negative balances you see are UI quirks. AFAIK, only the "" account is supposed to be able to have a negative balance.
And you can only get a negative "" balance when you move coins from there to another account, right?
If that's the case then why is it only with the "" account?
2) How does moving coins work? AFAIK, it's not a transaction.
The balances are just changed. No transaction stuff is done.
OK, so the client moves addresses between accounts when you do a move?