La estrategia general es crear los 4 threads (lo que hace un "ThreadPool") al inicio y dejarlos *vivos*. Luego usas un un Queue que es el medio de comunicación, y lo usas para enviar y recibir los datos. Asi es mas simple.
https://stackoverflow.com/questions/...ueue-in-delphi
La libreria de Omnithread -que he usado y tiene eso y mucho mas-
Aqui lo hacen con envio de mensajes de windows, que tambien te podria servir):
http://delphi.about.com/od/kbthread/...ry-example.htm