Ich liebe diese Objektschreibweise. Die ist wirklich kompakt aber ein Krampf zum debuggen.
Code: Alles auswählen
procedure TFMArtikel.CBArtzugGrpClick(Sender: TObject);
var
  s,t,string;
 begin
  Fehlermeldung(99);
   //Füllen der Gruppen in die ComboBox
   CBArtzugGrp.Items.Clear;
   FMMenu.SQLQuery1.SQL.Clear;
   s:='select nr,bez from gruppen where Aktiv=1 order by Nr;';
   FMMenu.SQLQuery1.SQL.Text:=s;  //<<- Breakpoint hier
   FMMenu.SQLQuery1.open;
   //FMMenu.SQLQuery1.Last; //bei größeren Datenmengen um die komplette Abfrage zu retrieven
   FMMenu.SQLQuery1.First;   //<--verlasse mich nicht drauf dass der Zeiger auf BOF steht
   while not FMMenu.SQLQuery1.EOF do
    begin
     t:=FMMenu.SQLQuery1.FieldByName('Nr').AsString+' '+FMMenu.SQLQuery1.FieldByName('Bez').AsString;
     CBArtzugGrp.Items.Add(t);  //<<- Breakpoint hier
     FMMenu.SQlQuery1.Next;
    end;
 end;  
und dann mit Ctrl-Alt-L das Debugfenster für lokale Variablen einschalten und prüfen ob das Programm überhaupt bis dorthin kommt und ob die Schleife Werte liefert.
Etwas mehr Code hilft enorm beim Debuggen.
Und wie af0815 sagte darf das nicht in einem Event der Combobox passieren. 
Solche Vorbereitungen müssen erledigt sein wenn das Formular angezeigt wird.
Ich mache das in einer eigenen Prozedur (der Übersicht und mehrfachen Verwendbarkeit wegen) die ich meinetwegen "Initialize" oder "Prepare" nenne (immer programmweit gleich benennen) die ich meistens im OnCreate des Formulars nach allen Erstellungsaufgaben aufrufe.