Hola
pues nada que ya funciona otra vez, por fin encontre lo que había cambiado que junto con otras operaciones que hacía antes con el opendialog me devolvía siempre false.
El tema estaba en que justo al cargar la aplicación, yo cargaba un archivo en concreto usando el opendialog (si ya se que es una tontería pero cuando lo hice hace meses era de las primeras cosas que hacía con Delphi jeje). Bueno el caso es que hace unos dias había cambiado la función con la cual averiguaba cual era el directorio en el que se ejecuta mi aplicación. La nueva función me devolvía \\ al final del directorio y la antigua no. De esta forma las rutas no iban bien.
El caso es que ya funciona
Muchas gracias a todos por la ayuda.
Un saludo.