Boa tarde Gabriel,
Se você utiliza o componente ACBrNFe e se a sua aplicação possui um controle efetivo das notas canceladas, fica fácil resolver esse problema.
Não vou voltar ao assunto sobre alterar o XML, pelo simples fato de já ter sido muito debatido.
O componente de impressão do DANFE possui uma propriedade chamada NFeCancelada, caso esta tenha o valor True será impresso uma tarja contendo a seguinte mensagem: NF-e CANCELADA.
Pelo menos no DANFE feito em Quick Report isso ocorria, não sei lhe informar se no DANFE feito em Fast ou Fortes Report o comportamento é igual.
Desta forma o XML não é alterado, mas o DANFE impresso no papel ou em PDF sai com a tarja.
E tem também a impressão do Evento mencionado pelo Agnaldo.
Detalhe importante: Esta disponível no Portal Nacional da NF-e a versão 6.00 do Manual da NF-e, se você procurar em nenhuma página diz que assim que a nota é cancelada você deve gerar um novo XML da mesma trocando o protocolo de autorização pelo de cancelamento.
Mas por outro lado diz que você tem que guardar e disponibilizar o resultado do processamento do Evento. O cancelamento é um evento.
Se diz que tem que disponibilizar isso significa que ao cancelar uma nota o XML *-procEventoNFe.xml ( processamento do evento de cancelamento) deve ser enviado a todos que necessitam dessa informação, ou seja, o destinatário da mercadoria e transportadora.
Espero ter ajudado.