Создай примерно такую структуру:
Код:
TimerFunc = record
FuncName:string[200];
Interval:word;
LastCall:TDateTime;
end;
запихай все свои функции в массив таких структур, сделай 1(один) таймер который при срабатывании будет проссматривать массив, брать текущее время, отнимать от него время последнего вызова функции
TimerFunc.LastCall и если результат будет больше либо равен интервалу вызова для данной функции
TimerFunc.Interval то вызывать функцию на выполнение и обновлять время последнего вызова для этой функции.
ЗЫЖ В каких еденицах хранить
Interval решай сам, как тебе будет удобней