Bom dia a todos,
O problema não esta na unit pcnEnvEventoNFe, uma vez que a constate '-03:00' foi removida e colocada no lugar a função GetUTC que tem como finalidade retornar o UTC ou seja -04:00 ou -03:00 ou -02:00 dependendo da UF e se esta no horário de verão ou não.
A propriedade: Evento.Items.InfEvento.cOrgao da funcionalidade EnviarEvento, se for diferente de zero, GetUTC utiliza o valor de cOrgao como sendo o código da UF, caso contrario será utilizado o código 91 = Ambiente Nacional, quando o tipo de evento for diferente de CCe e Cancelamento.
Como não existe UF cujo código é 91 a função GetUTC não retorna o UTC, vazendo com que o valor de dhEvento fique incompleto, ou seja faltando: -04:00 ou -03:00 ou -02:00.
Acredito que a solução para o problema é:
Unit pcnAuxiliar
Function CodigoParaUF => incluir nesta função os valores 90 e 91 e definir ambos como sendo UF = AN (Ambiente Nacional);
Function ValidarCodigoUF => incluir nesta função os valores 90 e 91;
Function GetUTC => incluir nesta função a UF: AN na constante UTC3;
Function IsHorarioDeVerao = Incluir nesta função a UF: AN na constante UFHV.
Fica ai a dica, para quem tem um certificado válido, realizar as alterações e fazer os testes.