Cheguei a conclusão que as DLLs estão corretas, porque fazendo teste deixando a tag desta maneira:
<COD Id="COD">, o programa assina com o comando
A.Assinar(XML,'CODExporter', 'COD','','','');
Mas quando executo desta outra maneira:
A.Assinar(XML,'CODExporter', 'COD','','','Id');
O executável reporta o erro de violação de endereço, assim tanto faz passa Id ou id o erro ocorre direto quando informo o identificador.
Estou usando o xsLibXML2.
Mas preciso que a tag <COD id="COD"> seja assinada desta maneira pois é a exigência da Entidade Certificadora.