OK allora la soluzione bcc ti consente di inviare una mail unica al server smtp.
Il serve poi si occupa di reindirizzare ai tutti i contatti segnati nel campo bcc una copia della mail.

Se invece invii una mail per ogni contatto devi considerare quanto tempo ci mette.
Le pagine php hanno un timeout che dipende dalla configurazione del server http.
Quindi se devi inviare molte email potrebbe andare in timeout la pagina e non inviare tutte le email.

per evitare cio' dovresti aggiungere una flag o un tabella mail inviate etc che controlli per inviare le email a pezzi. Cioe' invii 100 mail ora, poi dopo mezzora clicchi di nuovo e invia altre 100 mail.

Per l'invio delle email ti consiglio di usare la classe che ti avevo linkato sopra (quella su php guru) che ti gestisce gia' in automatico i bcc etc....