For example, if the user adds $100 to his ETH account and only withdraws $70, after a $20 commission, he is left with $10 on his account that he will never get to use.
While he will not be able to withdraw the 10$ as BTC because of
your fees, the user still has 2 options:
* That money stays there and when he will add the next 100$ he will have 110$ to work with. In this case a warning at the initial withdrawal would be nice ("The remaining amount is less than the minimum amount to withdraw from this platform. Please consider withdrawing the full amount")
* The user can convert into some altcoin where your fees are much lower and he can still withdraw.
I see no problem. Is the problem related tot he logic, or is it something implemented wrong from technical point of view (the old deposit address becomes - for some odd reason - no longer available)? Maybe you should explain more clearly your problem. If it helps, I'll add that one user should have more than one deposit address (and even if you show only the last one, all those addresses are watched and credited).