Añado una cosa, yo prefiero usar FieldByName que Fields. La razón es que si cambias la estructura de la tabla, tendrás que revisar el índice de Fields en todos los sitios. Quedaría algo así:
Código Delphi
[-]
ZSumaInventario.Close;
ZSumaInventario.SQL.Clear;
ZSumaInventario.SQL.Add('update articulos set cantidad = :inv where ref = :cod');
ZSumaInventario.ParamByName('inv').AsInteger := ZInventario.FieldByName('Cantidad').AsInteger + ZTemp.FieldByName('Cantidad').AsInteger;
ZSumaInventario.ParamByName('cod').AsString := ZTemp.FieldByName('¿Código?').AsString;
ZSumaInventario.ExecSQL;