Steven,
In the Timer() event itself you should code
this.Enabled = .f.
do program
this.Enabled = .t. && if you want this timer to resume running
What is the interval that your timer is set to? If it's less than a couple of milliseconds (or you are testing this in the debugger) you might have stacked up several timer events that are still pending execution.
>Here is whats happening
>
>This.Enabled = .F.
>Do program
>
>The do program is starting befroe the This.Enabled is set to .F.