I think you're mixing up the definitions slightly.
Armory wallet (offline or online) contains:
x1 private key
x1 chain code
infinite public keys (derived from the chain code)
Armory watching only wallet contains:
x1 chain code
infinite public keys (derived from the chain code)
Plus stuff like transaction comments and so on, but I'm sticking to the keys here. If you give someone else the chain code, they can indeed determine the amount of Bitcoin at every address in the wallet. But the Chain Code is always packaged up together with the private key, either in the same wallet file or in the same paper backup. You need both the private key and chain code for a paper backup.
Is the chain code the same thing as the "master public key"?
In the case of the situation you're describing, there is no real need to panic.
If you're providing an individual public key to someone to pay you with, they know nothing about the rest of the wallet except that one address (represented by the one public key. "Public key" and "address" = same thing).
I meant revealing a
private key. Say, I wanted to give my yet unenlightened friend a gift and keep the private key myself as well, for my friend's backup.
There's no way to make a mistake and accidentally give them the Chain Code, it's not accessible in any part of the Armory application except for the paper backup feature. You'd never make that mistake.
I could have been more specific. What I was worried about was the issue mentioned in the article: Any
one private key plus the master public key in single, wrong hands could compromise a
whole deterministic wallet.
Why I thought this was worth keeping in mind was that you probably should assume online wallet is pretty open to exposure eventually (therefore, the MPK/CC as well) and any private keys you shared aren't anymore under your control.