I'm still feeling we are mixing pears and apples here. You are "missusing" the timed out state as a way to indicate disabled.

I would feel more comfortable if the timer had a way to indicate disabled/enabled and we used that in the places we check for timervalue != 0 or == 0.