Jupp, 255 zu 1 ist die Chance auf True, beim Boolean und ByteBool ... beim LongBool sind es da schon 4 Milliarden zu 1.
Du könntest Deinen eigenen Boolean-Typ deklarieren, bei dem dieses Problem nicht auftritt.
Und schon sind Deine Variablen beim Anlegen & Löschen "automatisch" auf boUndef gesetzt.
Eben nicht.
Also im Prinzip ist es ach deiner Definition ein Variant, der von Haus aus erstmal NULL ist und anschließens True oder False (WordBool) aufnehmen kann.
Mit dem Unterschied dass der Variant
immer initialisiert ist und dein ENUM nicht.
siehe auch
https://www.delphipraxis.net/203800-...string%3B.html