Non è tanto una questione di velocità..
Mi riferivo alla velocità perchè in teoria sleep(0) potrebbe "risvegliarsi" prima che il ciclo di i arrivi a 10. In tal caso avresti una sequenza tipo:
i1 j1 i2 j1 i3 j1 i4 j2 j1 .. se il primo sleep del primo Mostra si risveglia subito dopo i4.
Sono certo che dovremmo studiare meglio tutta la questione e concordo pienamente con LucaMs quando nel forum inglese dice che una dettagliata spiegazione sarebbe opportuna, ma per il momento, sinceramente, non mi sento di dover convertire tutto il mio codice per utilizzare queste nuove possibiltà. (ps: DoEvents mai utilizzato, però).
Edit: una volta abbandonato il caro vecchio (e solido) concetto di flusso procedurale (il programmatore è una divinità che decide l'ordine in cui tutto avviene) per la programmazione ad eventi e quindi la gestione asincrona del flusso (l'utonto e il sistema operativo, scatenano eventi come e quando pare a loro) per quanto mi riguarda mi sento de-responsabilizzato; tutto può accadere, i problemi ci saranno di sicuro ma non dipenderanno interamente da me e quindi potrò dormire tranquillo. Qualcosa non va? Bene, è normale. Nulla funziona in modo perfetto; quindi neanche i miei sw.. (ps: e se, caro utonto, pretendi di pagarli "di meno e con lo sconto", sappi che ti porti a casa una mezza porcheria, nè più nè meno di ciò che compri quotidianamente nei negozi e nei supermercati)