Du hast deine Variablen nicht initialisiert.
Delphi-Quellcode:
var
abbruch : Boolean;
menueEingabe : Char;
begin
abbruch := (menueEingabe = upcase('x')) or (menueEingabe = 'x');
Du weist der Variable "abbruch" beim Programmstart einen Wert zu, der von "menueEingabe" abhängt, was wiederum ebenfalls nicht initialisiert ist.
Schreibe diese Zeile (abbruch := ...) nach " readln(menueEingabe);". Dann wird in in jedem Durchlauf ermittelt, ob das Programm verlassen werden soll, oder nicht...
Alternativ zumindest die Variable richtig initialisieren, damit Abbruch:=False hat (auch nach ReadLn), denn du verwendest ja (auch) die Case-Anweisung zum Auswerten von X.
Delphi 10.4 32-Bit auf Windows 10 Pro 64-Bit, ehem. Delphi 2010 32-Bit auf Windows 10 Pro 64-Bit