In a similar situation as 2 below, I found it better just to disable the timer in the timer event and reenable it when the called process is finished.
>2) One problem I faced early on was if the import process was already running when the timer fired - to fix, I added a "busy" flag to the form, and the timer checks this flag before calling the import routine. The import routine sets the busy flag when it starts and clears it when done.
Eric Shaneson
Cutting Edge Consulting