anche se ho notato che all'inizio fa qualche giro "a vuoto" sulla funzione (impercepibile senza l'alert)
Mi suona strano, non dovrebbe. Probabile che qualcos'altro nel tuo script influisca su tale comportamento.
Va bene l'uso del metodo .html per la creazione della terza select?
Sì, penso non ci siano problemi particolari.