If you don't use "sendfrom" and indicate which account you are sending from, then I think it updates the default account. I could be mistaken on this, so you should probably do some testing on testnet to be sure.
If I'm right, then the default account will have a balance of -0.5 BTC (since it had 1 BTC, and you sent 1.5 BTC), and account "A" will have a balance of 1 BTC.
I tested this and you are correct. Invoking sendtoaddress with a balance larger than the default account has available results in a negative balance in the default account.
It turns out this is in fact documented at
https://en.bitcoin.it/wiki/Accounts_explained#Accounts_and_Receiving_Addresses - 'sendtoaddress' always succeeds if there are sufficient funds in the
server's wallet. For example, if your wallet account balances were 100 BTC in account
'foo' and 0 BTC in the default account, then the balances after sendtoaddress
1PC9aZC4hNX2rmmrt7uHTfYAS3hRbph4UN 10.00 would be 100 in account 'foo' and -10.00 in
the default account (and the overall server balance would go from 100 to 90 BTC). On
the other hand, using 'sendfrom' to send from the default account with a zero balance
will fail with message "Account has insufficient funds".