Sim, utilizo o mesmo mecanismo para todos os eventos.
Resumindo:
Usuário seleciona 50 eventos na grid, gero cada um deles e armazeno o ID de cada um.
Após enviar, atualizo em cada registro enviado nesse lote, o Nº do Protocolo de Envio gerado.
Ao consultar determinado protocolo de envio, dou um select retornando os registros que foram enviados nesse lote (ou seja, os que possuem o nº de protocolo que estou consultando).
E ai basta percorrer o RetConsultaLote.RetEventos e ir localizando o RetConsultaLote.RetEventos.Items.Id na query, como expliquei no outro post.
Não estou dizendo que seja a melhor maneira de fazer, tem gente fazendo de outras formas.
Mas essa forma segue o "fluxo natural" das rotinas, e está funcionando bem.