Temporariamente consegui resolver modificando o pcnLeitor. Para incluir aquela parte que citei. Exemplo:
function TLeitor.rCampo(const Tipo: TpcnTipoCampo; TAG: string; const TAGparada: string = ''): variant;
var
ConteudoTag, tagb: string;
inicio, fim, inicioTAGparada: integer;
begin
Tag := UpperCase(Trim(TAG));
tagb:= UpperCase(Trim(TAG));
inicio := pos('<' + Tag + '>', UpperCase(FGrupo));
if inicio = 0 then
Begin
tag := tag + UpperCase(' xmlns="http://www.portalfiscal.inf.br/nfe"');
inicio := pos('<' + Tag + '>', UpperCase(FGrupo));
End;
if Trim(TAGparada) <> '' then
begin
inicioTAGparada := pos('<' + UpperCase(Trim(TAGparada)) + '>', UpperCase(FGrupo));
if inicioTAGparada = 0 then
inicioTAGparada := inicio;
end
else
inicioTAGparada := inicio;
if (inicio = 0) or (InicioTAGparada < inicio) then
ConteudoTag := ''
else
begin
inicio := inicio + Length(Tag) + 2;
fim := pos('</' + tagb + '>', UpperCase(FGrupo)) - inicio;
ConteudoTag := trim(copy(FGrupo, inicio, fim));
end;