Respecto al problema con el findclose, he visto que éste procedimiento está declarado en las unidades Windows y sysutils.
Tu problema es que estás llamando al findclose de la unidad windows, que recibe un cardinal como parámetro. Si te fijas en la lista de uses seguro que tienes las dos unidades.
En este caso, simplemente cambia
por
Y solucionado!
Edu