Allora.. mi spiego meglio... il problema l'ho individuato ma un po strano (Anche se comprensibile).

Faccio un esempio

PAGINA1
SELECT1 : Elenco dei clienti
SELECT2 : venditori del cliente selezionato
SELECT3 : acquirenti del cliente selezionato

Quando seleziono il CLIENTE dalla SELECT1, javascript apre un POPUP che , richiamando la funzione AGGINGI() della pagina principale, popola le 2 select. Per popolare entrambe le select faccio 2 window.open().

codice:
function aggiungi(nome,valore){
sel.options[sel.options.length]=new Option(nome,valore);
RITARDO(300);
}
In alcuni casi (a seconda degli articoli acquistati) ho dinamicamente 3 o 4 serie di SELECT2 e SELECT3 per cui vado a loopare le window.open.

codice:
while (esiste_cliente[i])
{
   window.open(popup1);
   window.open(popup2);
}

Che succede : la funzione aggiungi è un po lenta e ci mette qualche secondo x eseguirsi.
Problema : se non interrompo con un alert ogni ciclo di loop, non fa in tempo a caricare le select e lo fa solamente sull'ultima serie.

Per cui devo mettere un alert x ogni ciclo di loop...... e sperare che non venga premuto subito ma che ci si metta circa 1 secondo per premere OK

Adesso va, ho inserito un delay fisso di 300ms nella funzione aggiungi. In questo modo (lasciando comunque l'alert) funziona abbastanza bene.

In pratica il problema sta nel fatto che durante la loop AGGIUNGI() non fa in tempo ad eseguirsi completamente, a me non che non si fermi l'elecuzione con un alert per qualche secondo...