Hi Lorenzo, welcome to the forum.
I understand the possible confusion, until recently I wasn't aware the move command even existed.
In general I think a lot of people assume that "wallets", "accounts", and "addresses" are all the same, and they are not. An account can be associated with several Bitcoin addresses, but the reference client also allows you to do some internal accounting which abstracts accounts from the underlying addresses.
As far as I can tell a move command simply re-assigns some bitcoin amount to the internal wallet database, and to make sure you don't "overspend" an account (i.e. dip into other addresses/accounts in your wallet) then you need to always use "sendfrom" which should respect the account balances.
Basically, accounts is a virtual balance inside a wallet, moving amounts between accounts just updates internal references to which account values are associated to 1 or more "real" addresses. An outside observer wouldn't know the balances of your accounts, but they could see individual balances of each address (if they knew you owned them).