Moin Denise,
wenn also jedem Menüpunkt WarengruppenSuchenExecute zugeordnet ist, und jeder Menüpunkt (bzw. die Action, sieht für mich zumindest nach Verwendung von TActionList aus) über sein eigenes Tag verfügt, sollte das gehen.
Du kannst ja mal als erste Zeile in der Methode ein ShowMessage legen, dass Dir den Wert des jeweiligen Tags anzeigt, um zu sehen, dass das überhaupt funktioniert.
BTW:
Bei Deinen Registryfunktionen hast Du doch auch immer ein CloseKey?
Ausserdem wäre ein try/finally Block nicht schlecht um die Ausführung von CloseKey sicherzustellen.
[EDIT]
Ist mir gerade aufgefallen
Beim Schreiben in die Registry verwendest Du ja auch TComponent(Sender).Tag
Der Wert dürfte allerdings immer 0 sein, ausser Du rufst fmClose mit geeigneten Parametern "manuell" auf
[/EDIT]