lmikle спасибо за подробные комментарии.
1) Я пробовал и без таймеров, таймер лишь указал что бы можно было запустить программу под делфи, для сравнения результатов.
2) Через отдельный поток реализовывал.
3) Спасибо за совет, но мой способ вполне надежен хоть и через одно место

4) Совершенно точно уверен.
5) Вы думаете я не пробовал делать запись packed

?
6) Сделано только для того что бы тот кто запустит сервис и не остановит его, не получил бы переполнение жесткого диска, из-за растущего лога. Сам не думал что так будет работать, попробвал работает, решил оставить, но в рабочей версии конечно же такое допускать нельзя.
7) Согласен, но опять же таки, хочу отметить что это не моя программа, это просто тестовый вариант написанный за 5 минут, только для того что бы отразить проблему.