You might want to make sure you don't have a /timer alias that's causing this. $isalias(timer) will return $true if you do.

The only other thing I can think of that would stop the timer without telling you is if you disconnect from the server - but then $timer(#chan) would return $null.