Timer mode change from 2 to 0 still runs one last time?

I have a timer used to update UI elements with a period of 2500ms. Apparently, If I set the mode to 0 to stop the timer, the timer still fires that one last time is the mode change happens before the new period has passed.

Is there a way to cause the timer to immediately abort when the mode is changed to 0? I’ve tried calling Timer.Reset after the mode change, but that just seems to cause it to extend the remainder of the current period one last time. This is causing a NOE because a property that the timer is watching goes out of scope when the thread it is part of ends and is NIL’d to clean my thread stack.

Does setting Enabled = false have any effect?
In the event that it does not, would you be opposed to the first line of the Timer.Action being:

if me.Enabled = false then return

Thanks, Tim - that was a simple solution for a real head-scratcher.