Relendo teu problema, me veio uma duvida: qdo acontece o erro que vc questiona, vc consegue imprimir a danfe com protocolo de autorização, ou o xml fica sem essa informação??
Meu sistema funciona assim, qdo envio a nota, trato o retorno. Se veio 100, ok, o componente já atualiza o XML, gravo tudo que tenho que gravar no meu banco, etc. Qdo acontece de retornar o código 105 - lote em processamento, aquela nota fica com esse status no sistema. O usuário sabe que após alguns minutos ele tem q consultar essa nota novamente. No meu sistema tem um botão consultar que realiza o mesmo procedimento do botão Consultar Nfe do Demo. Nessa consultar, se me retornar um status diferente do que tenho gravado na minha base (por ex, estava 105, e agora me retornou 100), gravo tudo q tenho q gravar no banco, o componente ja atualiza o XML da nota e pronto.
Se teu XML em algumas vezes fica sem a autorização, talvez seja esse o problema, ele retorno o status 105 e vc não está tratando essa situação.