
Possible reason: Spent outputs are subtracted from main account. Other accounts contain watch-only addresses

Possible reason: Spent outputs are subtracted from main account. Other accounts contain watch-only addresses
You should not mix raw transactions with accounts. This is usually a big contributor to this problem. Generally speaking, this feature does not scale well and likely will be deprecatedas it never functions the way people want it to..
Where did I mention raw transactions? Does it mean that accounts are useless? I just tested watch-only addresses feature. I wished to watch multiple real (existing) wallets.
I can see a little confusion. What is account and what is label? Transactions in bitcoin-qt are shown labeled by account name. Outgoing transactions remain without label, so they are probably assigned to main account.

Yes, accounts are useless / should never be used. Unfortunately this fact is not well published. It's planned for deprecation.
Ok, i got it. So watch addresses are useless too. You cannot watch spent transactions on each separately (through API).
Watch addresses are not useless, but they're not intended to provide a "per-address balance". You can see for individual transactions on which address they arrived (so you can discover who paid), but all coins in the wallet are considered common to the entire wallet. The advised way of dealing with this is by using a new address for every incoming transaction anyway.
It sounds like you're looking to have "multiple wallets" which do not share coins, rather than just multiple addresses. This is not supported right now.
I am trying to figure use-case of such feature.... anyway, this is not the topic of this issue. In conclusion:
Closing ticket, thank you.