No sistema que desenvolvi para envio de nfe na empresa que trabalho, tivemos alguns problemas referentes a isso. A princípio simplesmente consultava a NFe depois desta rejeição, mas, depois, acabamos percebendo que era gerado outro XML, fazendo com que o DigestValue fique diferente do DigVal.
Como resolver?
Simples, após tentar enviar algum XML, eu passo a marcar ele como enviado, independente de ter recebido um retorno da SEFAZ ou não, após isso eu tento consultá-lo por alguns minutos, pois, muitas das vezes, a SEFAZ demora a autorizar a NFe, retornando rejeição por "NÃO EXISTIR NA BASE DA SEFAZ". Trabalhando desta forma eu passo a garantir que, mesmo com a demora da sefaz em autorizar, eu não corra o risco de tentar enviar novamente um xml que já foi autorizado, evitando também a invalidez da assinatura.