I don't know if this might be the reason, but you've got the timer set for 6 seconds, rather than 60 seconds as shown in Mike's original code.

Also, I note that the F8 alias turns off the timer (if it's active) and then restarts it (via the start-timer alias).

With these two things, realistically, you've got a deop & part timer running every 6 seconds, even though you have it set for a single run.

I see nothing in the script to "pause" the timer