Da ich ja den Mist verbockt habe, versuche ich es mal gerade zu biegen.

Wieviele Mails habt ihr denn in der Datenbank zum senden?
Gibt es User die den Mailempfang auf 999 Mails eingestellt haben?

*EDIT*
Da ich um 13 Uhr zur Arbeit muß, folgende Erklärung.

Das Script arbeitet folgendermaßen:
Es sucht einen User nach dem anderen aus der Datenbank die den Mailempfang aktiviert haben.
Wenn es einen User gefunden hat, dann werden so lange an ihn Mails verschickt, bis die maximale Grenze des Users erreicht ist.
Dann wird der nächste User mit Mailemfang größer 1 gesucht und wieder alle Mails an ihn verschickt. usw.

Wenn nun 100 Mailkampagnen in der Datenbank sind, aber keine User mehr als 50 Mails empfangen möchte, dann bleiben logischerweise 50 Kampagnen übrig die nicht versand werden.
An wen sollen sie auch verschickt werden, wenn keiner sie haben will