Resposta curta: Use o método ACBrTEFD1.CNC
Ok, vamos explicar um pouco mais...
O ACBrTEFD, tem um método exclusivo para Cancelamento, ACBrTEFD1.CNC, com ele o ACBrTEFD já iniciará uma transação administrativa, com informações suficientes, para localizar a transação no Banco de Dados do Gerenciador TEF, e iniciar o Cancelamento da mesma...
Function CNC(const Rede, NSU : String; const DataHoraTransacao : TDateTime; const Valor : Double; CodigoAutorizacaoTransacao: String = '') : Boolean ;
Veja abaixo, um exemplo de como você pode chamar o método:
ACBrTEFD1.CNC( AResp.Rede, // PWINFO_AUTHSYST
AResp.NSU, // PWINFO_AUTEXTREF
AResp.DataHoraTransacaoLocal, // PWINFO_DATETIME
AResp.ValorTotal, // PWINFO_TOTAMNT
AResp.CodigoAutorizacaoTransacao); // PWINFO_AUTHCODE
Lembramos entretanto, que cada adquirente, tem um fluxo de Cancelamento de transações, então pode ser que em alguns casos, outras informações sejam solicitadas, pelo Gerenciador TEF, por isso é sempre recomendado, ter o Cupom da Transação original, em mãos...
Outro fato, é que sempre será solicitado o cartão do cliente, no final do processo... Ou seja, o Cliente precisa estar presente, para que o cancelamento seja efetuado...