non so da cosa potrebbe essere generato l'errore...
però comunque non credi di effettuare troppe query?

secondo me per risparmiare sulle query potresti fare in due modi:
1) ti leggi tutte le email presenti nel database e li metti in un array,
quando devi verificare se l'email è già presente utilizzi in_array
(altrimenti puoi aggiungere le email in questo modo $array = array ('ciao@ddsdss.com' => true) e utilizzi isset() che è più veloce)

e poi generi una unica istruzione di insert (oppure delle query di inser da 10 record alla volta)

2)(consigliata)
rendi il campo email come unico
fai un insert con INSERT IGNORE
in questo modo se stai cercando di inserire un email già presente passerà all'istruzione successiva (quindi è come se non facesse l'insert)

ciao!