Am Rande: Dein BefehlsList ist noch die alte TObjectList und nicht die aus System.Generics.Collections, oder?
Auch: Kannst du nicht im Debugger weiter hineingehen (F7), was darin jetzt mit deinem Objekt angestellt wird?
Und: Ich habe jetzt nicht lange darüber gebrütet, aber
GUID, Methoden zum Index suchen, usw- Hast du dir mal das TDictionary angeschaut?