David,
First off you should disable the timer and reenable it to prevent recursive problems:
* tmrX.Timer() method
this.Enabled = .f.
do SomeLongRunningProcess
this.Enabled = .t.
In your long running code you can peridocially issue a DOEVENTS which will allow the form to see UI events. If you are using a version prior to VFP7SP1 look at using FastDoevents from my website.
>A timer control on a form calls a procedure in its timer event. The timer keeps going while the procedure runs. As the procedure is running an hour glass popsup which prevents any user interaction with the form. How can you allow user interaction with the form while the procedure runs?