Verifique senão está informando em outro campo ou usando muito with no código e não preenchendo propriedade!
no código está correto a geração
procedure TBloco_C.WriteRegistroC177(RegC170: TRegistroC170);
var
intFor: integer;
begin
if Assigned( RegC170.RegistroC177 ) then
begin
for intFor := 0 to RegC170.RegistroC177.Count - 1 do
begin
with RegC170.RegistroC177.Items[intFor] do
begin
Add( LFill('C177') +
LFill( COD_SELO_IPI ) +
LFill( QT_SELO_IPI,0,0 ) ) ;
end;
RegistroC990.QTD_LIN_C := RegistroC990.QTD_LIN_C + 1;
end;
/// Variavél para armazenar a quantidade de registro do tipo.
FRegistroC177Count := FRegistroC177Count + RegC170.RegistroC177.Count;
end;
end;