Personalmente credo sia il caso di usare il meno possibile il DoEvents (che è un'operazione molto dispendiosa in termini di impiego di CPU)... spesso un Refresh basta e avanza.