Hola gracias por responder rir3760: claro siempre empieza desde 0, es que confundes esta sintaxis getPosFich(posFich-1, modifFichero);, porque le paso los valores devueltos por getPos() -1.
He cerrado todos los ficheros al terminar el evento, pero el flujo de ejecucion aun sigue cortandose !!