Te agradezco la ayuda AgustinOrtu , encontre una solucion poco elegante para mi codigo , uso una variable global que incremento en el TThread.Synchronize , entonces en el odioso bucle while
, pongo una condicion donde si la variable global es igual al count hace un break y listo.Ahora me fijo como le puedo agregar un for a tu codigo para hacer multithreading.
gracias por la ayuda.