Noone has any status on an join event so you cant use those conditions. its only after a join that a user gets his status, see the replies to my earlier post called timers where i had a similar problem.
but i guess it may work like this
on @50:JOIN:#yourchannel: /.timer 1 2 /modecheck $nick $chan
alias modecheck {
if ($1 isreg $2) {
mode $2 +v $1
}
}
cant test it as am about to fall asleep but it should work