It works fine here. If you use the code you posted here, your problem is a syntax error. You must not leave a space after the variable and before the colon:

on *:part:%room : <- wrong
on *:part:%room: <- right

You also have a syntax error in the on join example you posted. Although this one may be tolerated by mIRC, you should use the correct syntax.

on *:join:%room { code } <- wrong
on *:join:%room: { code } <- right


/.timerQ 1 0 echo /.timerQ 1 0 $timer(Q).com