And just for a small minor change, I did not use $ifmatch because I needed the variable.

Code:
  var %x = 1
  while ($ialchan($banmask,$chan,%x).nick) {
    /timernotice $+ %x 1 %x /notice $ialchan($banmask,$chan,%x).nick Unbanned in $chan
    /unset $+(%,bnick,$ifmatch)
    inc %x
  }


* Timer notice1 activated
* Timer notice2 activated
* Timer notice3 activated
[July 15 2007 Sunday 05:43:25 PM] -> -found_20- Unbanned in #8
* Timer notice1 halted
[July 15 2007 Sunday 05:43:26 PM] -> -found_22- Unbanned in #8
* Timer notice2 halted
[July 15 2007 Sunday 05:43:26 PM] -> -Fara7oOo- Unbanned in #8
* Timer notice3 halted

While this isn't a large issue, I can't actually use $+ $chan in /timer, since ops could be unbanning in different channels, that could mess up the numeric order. But I shall/can cope. :]