Normalerweise macht man Schleifen über eine Datenbank mit while, weil bei repeat die EOF-Abfrage nicht stimmt.
Das EoF stimmt schon, aber beim First wird es nicht ausgewertet, was Probleme macht, wenn es keine Datensätze gibt. (also entweder While oder ein extra IF, für's First)