M>не ловит мессаги отправляемые в TTimer такими операторами
PostMessage(NULL, ...) является полным аналогом PostThreadMessage(GetCurrentThreadId(), ...), то есть — запускает мессадж в текущий тред.
Отсюда вопрос: вы делаете PostMessage в том же треде что и WaitMessage?