en estos casos, lo único que te puede ayudar es un buen "log de session".
Create un TstringList, al que le vas añadiendo mensajes que te digan exactamente por donde va el programa.
Código:
Log de sesion empezado el 2/8/2005 18:45
Entrando en función "tal y cual pascual"
Creando Datamodule DtmPrincipal
asignando conexion de ado
abriendo sesion
....
Añade un ApplicationsEvent, y en el evento OnException, guarda ese TstringList a un fichero de texto (guardando en c:\Sistema.Log) no tendrás problemas de rutas largas ni otras artimañas.
Despues toca empezar a estudiar el por qué.
Un saludo