Ho notato una cosa durante i miei test: a volte capita che prenda due volte l'operazione, specialmente se il server ci mette qualche minuto a rispondere.
Questo perchè oltre i 30 secondi scade la pagina (limite imposto dall'hosting e serve per limitare i danni in caso di attacco ddos), e quindi io sotto ritento dando gli stessi dati, poi una volta arrivato sul server mi accorgo di questa cosa e quindi ignoro.
Se hai 10 minuti di elaborazione, avrai 19 chiamate che vanno in timeout ed una, quella finale, che va a buon fine. Ovviamente però tutte e 20 le chiamate verranno processate perchè lato server il timeout viene continuamente posticipato di pochi secondi nel ciclo di elaborazione import, ed altrettanto ovviamente solo la prima dovrà realmente fare qualcosa mentre le altre 19 essere ignorate prima ancora di iniziare la lavorazione.
Il problema è che dovrà essere l'ultima chiamata a dare effettivamente l'output (le altre, essendo andate in timeout client, sono già perse da tempo).
Quindi c'è un meccanismo di salvataggio dei dati (cache lato server), e come avrai intuito è un casino anche solo da spiegare... avevo rimosso questo ricordo in effetti!
In sostanza, avvisami se vedi un tentativo di rielaborazione, il sito ti dovrebbe indicare che quel nome è già presente. In tal caso, la lista è già creata e finita, devi solo aggiornare la pagina.
Se capita potrebbe dipendere da qualche addon come Firebug che reinvia di proposito alcune informazioni quando sei in console web.
Per adesso non mi è mai successo con browser "normali", solo su Firefox che uso per sviluppo, con appunto Firebug.