Lo he puesto tal y como indicas, y me sigue dando el mismo error.
He debugueado y llegan los datos correctos
Código:
actual.alta_baja :=dataset.FieldByName('Alta_baja').value;
actual.numSerieFactura :=dataset.FieldByName('N_factura').value;
actual.fechafactura :=dataset.FieldByName('Fecha_factura').AsString;
// clonando la demo, he añadido además en más pruebas con el mismo resultado
actual.nivas :=0;
actual.nexentas:=0;
//***************************************************************
n:=VeriFactuD7.addFactura( actual );
...
En Alta, me funciona todo OK.