disculpad, he encontrado el error..
el problema era el indice del array , hacia esto:
Código Delphi
[-]
fila := 1;
setlength( listafacturas, fila )
listafacturas[ fila ] := xxx
y lo correcto era:
Código Delphi
[-]
fila := 0;
setlength( listafacturas,fila+1);
listafacturas[ fila ] := xxx
perdón por las molestias