¿Y has comprobado que el valor devuelto por "CDSAlmaCOD_ARTICULO.Value;" tenga un contenido no nulo?
Porque parece que es eso, se requiere un valor válido para pasarlo a "cdsArticContUnClienteCOD_ARTICULO.Value".
Podrías hacer algo así:
Código Delphi
[-]if VarIsNull(CDSAlmaCOD_ARTICULO.Value) then
cdsArticContUnClienteCOD_ARTICULO.Value:= 0
else
cdsArticContUnClienteCOD_ARTICULO.Value:=CDSAlmaCOD_ARTICULO.Value;
Vamos, es un suponer si el error efectivamente es el que creo.
Saludos