No retorno da emissão você deve pegar o cStat, o xMotivo e mostrar para o usuário.
NotaFiscal.NFe.procNFe.cStat;
NotaFiscal.NFe.procNFe.xMotivo;
Caso queira fazer algo personalizado, deve tratar cada rejeição, ai vai dar um trabalho e para isto recomendo fazer uma base de conhecimento/wiki onde você vai gerar o tutorial de cada rejeição que você conseguir tratar, ai quando der a rejeição 204 por exemplo, você exibe a mensagem para o seu usuário e o link para o tutorial onde ele vai ver o passo a passo, inclusive com prints e mais informações de como resolver.
O maior problema é mapear todas as rejeições, mas comece pelas rejeições que são mais frequentes.
Boa sorte.