Hello mate! i've tested the code you've posted last night..
Code:
on *:ban:#:{
  var %bans = %bans $banmask
  if ($numtok(%bans,32) == 6) {
    .timer 1 800 mode $chan -bbbbbb %bans
    unset %bans
  }
  .timerUnban 1 2 DoUnban %bans
}

alias DoUnban {
  if ($1) { .timer 1 800 mode $chan - $+ $str(b,$0) $1- }
}

here's the result..
Quote:
* tester` sets mode: +bbbbbb *!*@whatz.* *!*@whast.* *!*@whatd.* *!*@wshat.* *!*@whgat.* *!*@wjhat.*
* tester` sets mode: -b *!*@whatz.*
* tester` sets mode: -b *!*@whast.*
* tester` sets mode: -b *!*@whatd.*
* tester` sets mode: -b *!*@wshat.*
* tester` sets mode: -b *!*@whgat.*
* tester` sets mode: -b *!*@wjhat.*

Still the same, it will unban 1 at a time.. =(