Fontes\ACBrDFe\ACBrNFe\PCNNFe\pcnNFeR.pas
A partir da linha 119
Atual:
cst60 : if ((nfe.infNFe.Versao >= 4) and
( ( nfe.Det.Imposto.ICMS.vBCSTRet > 0) or
( nfe.Det.Imposto.ICMS.vICMSSTRet > 0) or
( nfe.Det.Imposto.ICMS.vBCSTDest > 0) or
( nfe.Det.Imposto.ICMS.vICMSSTDest > 0) ))
then Result := cstRep60;
Sugestão:
cst60 : if ((nfe.infNFe.Versao >= 4) and
( ( nfe.Det.Imposto.ICMS.vBCSTDest > 0) or
( nfe.Det.Imposto.ICMS.vICMSSTDest > 0) ))
then Result := cstRep60;
Motivo:
Na condição atual, quando utilizada cst60 e a Base de Cálculo do ICMS Retido Anteriormente por ST for maior que zero,
a rotina está convertendo para cstRep60.
Depois disso, na unit pcnNFeW.pas, quando for cstRep60 não são incluídas as tags de FCP no XML da NFe.
Não sei quanto aos reflexos em outras áreas do projeto, mas só fazendo esta alteração que consegui passar uma NFe com CST 60 e FCP retido anteriormente por ST.