Hola,
Probando el programa de ejemplo que has puesto, ¿cuándo se supone que falla? Supongo que cuando se crean cinco hilos (generalmente) y no se continua adelante. ¿Es así? Puesto que si abres varias instancias del programa y, cierras alguna, no siempre, pero, a veces los hilos comienzan a crearse "sin límite", que es lo que se supone que tiene que pasar siempre, si no me equivoco.
Lamento no saber decir Domingo, sólo tenía esas dudas, por un lado, y, por otro, quizás algo extraño, y es que, si en lugar de "INIFINITE", como has dicho, lo cambio por algunos milisegundos, el programa se comporta igual, y, esto me confunde, porque antes dijiste que con eso podría solucionarse, pero, que, era una chapuza. Sea o no una chapuza (que si tú lo dices será así) digo que el programa se comporta igual en mi caso.
Windows XP SP2
Delphi 2007 for Win32
Edito: Ya vi que encontraste la solución.
También la probé y funciona bien todo. Pues nada, eres más rápido tú en preguntar y solucionar que yo en tratar de decir esta boca es mía nada más...