Здравствуйте.
Вы ввели новые глобальные процедуры TimerStart и т.д. Это удобно, я сейчас думаю перевести учет времени выполнения программы на них. Но это все таки не таймер. Это секундомер. А можете ли вы ввести процедуру таймера? Чтобы это работало так. Я передаю этой процедуре запуска таймера уставку в виде переменной типа TDateTime, переменную типа TDateTime для текущего значения таймера, и переменную типа Boolean для выхода таймера и запускаю обратный отсчет до 0. Отработала уставка - переменная выхода таймера установилась в 1 и включился скрипт "Сработал таймер" наподобие скрипта "Выполнен SQL запрос" .
По аналогии с введенными процедурами таймер можно запустить, остановить, поставить в паузу, сбросить. Читать можно из связанной с процедурой переменной текущее значение уставки, статус таймера, статус выхода таймера.