Existe FLUSH em Javascript ou algo similar que force uma saída de tela?

Escrevi uma funcção em javascript que lê o conteúdo de um form, localiza os campos do tipo checkbox que estão marcados e para cada um deles chama uma outra função Ajax, que por sua vez passa parâmetros para uma aplicação em PHP que grava resultados no banco de dados. Todo esse processo funciona perfeitamente, com exceção de uma barra de progresso, que no IE não funciona adequadamente, essa barra é um DIV que inicialmente está oculto e quando a função começa a correr no formulário faz uma conta de percentual e atualiza o DIV. No Firefox, funciona perfeitamente, no IE não consigo, é alguma coisa relacionada com o tempo de execução ou uma falta de algum tipo de Flush(), pois para o div aparecer, tive que colocar em uma outra função que dá um tempo de 300 milissegundos para chamar a principal, mas durante o loop, o DIV não mostra na tela as atualizações de jeito nenhum, embora ele receba todas e processe corretamente. Coloquei um Alert() antes da chamada Ajax e então o percentual aumentou, é como se o sistema “parasse para respirar” e atualizada o DIV. Tentei todo o tipo de gambiarra possível para tentar forçar um flush de tela, mas nada deu certo. Alguém já passou por isso e conseguiu uma maneira de resolver?

Exemplo do algorítimo:

Função Inicial {
Mostra o DIV,
chama proxima função após 300 ms
}

Função PróximaFunção {
Obtem o número total de elementos do FORM
Loop de 0 até elementos-1 { // No IE este loop é dominante e não deixa saidas de tela no DIV
prepara os parâmetros;
calcula o percentual completo;
chama função AJAX; // se eu coloco um Alert() aqui, o DIV é atualizado na tela
atualiza o percentual no DIV
}
Esconde o DIV e resseta seu innerHTML;
Fim;
}

O objetivo é atingido plenamente tanto no IE quanto no FF, apenas no IE que o usuário não sabe o que está acontecendo, pois o DIV de status não é atualizado. Inclusive coloquei um GIF animado no lugar e ele não mexe no IE, fica estático.

Preciso de um comando mágico ou qualquer outra técnica que force a atualização do DIV que está mostrando na tela.

Obrigado.

o problema está aí, pois a função ajax é assíncrona e o browser pode executar a linha de baixo antes de terminar a função ajax.

O jeito de fazer funcionar é, na função ajax, dependendo da biblioteca que você usa, existe o método onComplete(), onSuccess(), on Error(), etc.

Dentro dessa função você atualiza o percentual na div, pois é garantido que só atualiza depois que a função ajax tiver completado.

Já havia tentado isso antes, independente do local onde eu coloque a atualização do DIV, a atualização não reflete na tela, embora ela esteja ocorrendo no DIV. Para o meu caso, não estou utilizando a forma assíncrona, pois são muitos dados (em média 5.000 chamadas por vez) e preciso ter certeza de que tudo foi processado, pois da outra forma o browser retorna a operação completa rapidamente, mas continua processando em background, e se o usuário fechar o navegador perde o que estiver pendente.

No PHP quando preciso que alguma coisa apareça na tela antes do comando terminar, eu uso um tipo de flush forçado, que simula o buffer mínimo de cada navegador e força uma atualização da tela, que dever ser o que o IE faz quando chamo a função alert(), pois todo o conteúdo pendente de atualização em tela que está no DIV é descarregado nesse momento.