I'm sure with time they can come up with something better, the current workaround was easy to implement.
I don't know about Qt-trader but I can probably tell you why there is no "buy all/sell all" button like exchange. In exchange the amount your trading with is fixed, either x amount of $ or x amount of btc. In Margin mode it count both USD and BTC, while USD value is fixed BTC is not. So your tradeble balance is always fluctuating if there is BTC in the wallet. And what happens when the system detects a trade that you don't sufficient balance? It cancels the whole block at execution and more people will complaint about that.
Give it time, not a "easy" fix