The other admin on my site found that weird bug:
If you decrease a user's warning level and the sum of his current warning level plus the amount that you are going to substract from it add up to more than the max level, the user gets banned, even though he shouldn't.
Example:
A user has 70%. You substract 40% from his warning level and instead of just having 30% afterwards, the user becomes banned and his warning level is 30% as it should.
I have no time to look at the code so I just report it in case someone can solve it (perhaps you ZT?

)
Have a happy easter