Passing unknown content (including $chan) to /timer is dangerous. In this case, this would do the trick:
.timerUnbanEffect 1 2 DisplayUnbanEffect $!decode( $encode(#,m) ,m)
However, there's a simpler way of tracking multiple bans set in one /mode command, and this is the
on RAWMODE event. mirc even provides the very handy
$mode() identifier, which allows you to loop through any modes (one would loop through $mode(N).ban in this case, from 1 to $mode(0).ban).