Sì ma il discorso che ti ho fatto sta "sotto" la faccenda della gestione degli eventi.

Gli eventi sono richiamati in un certo ordine perche' c'e' una certa gestione dei "messaggi" da parte di Windows al di "sotto" del framework.

Non fermarti allo strato .NET ... per capire cosa succede esattamente con il DoEvents devi spingerti un po' piu' "sotto" dando un'occhiata allo scambio di messaggi di Windows.