Olá @hetoandrade.. eu acho que a correção necessária, é justamente remover do IF a verificação de date-3
De acordo com o manual do SiTef, o valor de DataFiscal, e HoraFiscal, informados no método FinalizaFuncaoSiTefInterativo, deve ser o mesmo valor usado em IniciaFuncaoSiTefInterativo
Experimente comentar a segunda parte do IF
if Assigned(Resp) {and (Resp.DataHoraTransacaoComprovante > (date - 3))} then
begin
// Leu com sucesso o arquivo pendente.
// Transações com mais de três dias são finalizadas automaticamente pela SiTef
DataStr := FormatDateTime('YYYYMMDD',Resp.DataHoraTransacaoComprovante);
HoraStr := FormatDateTime('HHNNSS',Resp.DataHoraTransacaoComprovante);
end
else
begin
DataStr := FormatDateTime('YYYYMMDD',Now);
HoraStr := FormatDateTime('HHNNSS',Now);
end;