With BrainWallet, you need to spend every bit of coin used as inputs, otherwise whatever you don't spend goes as fees.
Is this only applicable to offline transactions,
Ya, sorry ... when manually building a transaction through BrainWallet's Transactions page, it doesn't stop you or notify you that you are not spending the full amount from the inputs. Which, causes the unspent amount to go to the miner.
or also if I import the brainwallet address to a working client ?
No, clients that construct the transaction will handle the change properly, either to a new address in the wallet or with some other method.
But with the Bitcoin.org client supporting raw transactions now, anyone constructing their own transaction and sending it through that API has this same potential issue. Raw transactions is a powerful tool, but a dangerous one too if you aren't careful.