tal como lo pense el error estaba en la forma en que me conectaba ala base de datos
les cuento tengo una clase que se conecta... bueno respondo la pregunta los thread en su codigo interno si son sincronicos.
bueno como les decia el error se cometia en que para tengo una clase que se conecta a base de datos y me crea un recordset pero en el mismo tenia un metodo que ejecuta un sql, cuando este sql da error cierra el recordset era por eso que en la tarea de insercion me daba datos vacios, pues el recordset estaba cerrado
, algun error de programacion en todo caso que bien que diera con el clavo por si a otro le sucede al trabajar con Thread's pos ya saben jiji