wow !! curiosa la idea ecfisa.
Creo se debería usar "synchronize" cuando un thread se comunica con un elemento visual, pero bueno, es solo un test. Además, deberíamos tener en cuenta que si los textos no se mandan ordenados (porque se hace en un Paint de la ventana o desde un botón, etc) pueden salir desordenados.
A mí la idea que se me ocurre, mucho más cutre, es crear una cola de mensajes con un timer.
Para crear una pila tenemos
varias formas . Existe desde Delphi 6 y anteriores.
Una vez tenemos encolados todos los mensajes, un timer es el que se encarga de comprobar si hay algo en la cola y procesa el mensaje. Si no hay nada, para el timer. Que se activará la próxima vez que se encole algo.