Zu 1:
Das was du zeigst ist kein Query sondern wie du sagst einfach die Funktion Mail.
Die Funktion selbst verschickt genau 1 Mail. Wenn sie mehr Mails verschickt ist die Funktion selbst in einer Schleife eingebaut und wird mehrfach ausgeführt.
Wenn du ein Sleep einbauen willst, baust du vor dem Ende der Schleife dann einfach nur ein
Ja, ist richtig. Ist nicht der Query sondern die Mail Funktion. Ich hab mich da ein wenig an die Worte bezüglich der Mail Funktion gehalten,
daher bin ich davon ausgegangen, dass die sleep Funktion ebenfalls in den String muss, weil darüber ja die Mails verschickt werden?!

Die andere Frage wäre dann, in welcher Query es sonst rein müsste? Wie geschrieben, wollte ich da nicht wild probieren, um nicht
wieder gefahr zu laufen, dass der Hoster mir die Seite dicht macht.

Was mich wundert ist das das Script so lange läuft um so viele Mails zu verschicken. Normalerweise werden Scripte auf den meisten Servern nach ein paar Sekunden (30-120 ist üblich) abgebrochen. Es sei denn dein Script verschickt tatsächlich in kurzer Zeit so viele Mails. Dann 1. Respekt das du so nen guten Mailserver hast der das verarbeiten kann und 2. würde ich dann einfach die Menge an Mails reduzieren um einfach nicht so viele Schleifendurchläufe zu haben.
Weil der Cron solang duch ignore_about_true der Cron solang läuft bis er fertig ist. Der Mailserver muss wohl so gut sein, sonst hätte
mir der Hoster nicht den Webspace dicht gemacht. Bis dato war es auch nie ein Problem, bis halt GMail gemeckert hat.
Wenn ich die sleep Funktion integriert bekomme, sollte die Mailzahl dennoch kein Problem darstellen.

Zu 2:
Zur anderen Sache: Wieso sollte die Funktion mail() asbach sein?
Hätte ja sein können. Vielleicht gibts ja schon was anderes als Alternative.