Das Problem tritt in deiner Funktion
function TDECClassList.ClassByName(const Name: string): TDECClass;
auf.
Du rufst dort aus DECBaseClass TDECClass.GetShortClassNameFromName(Name) auf. Weil die SHA3 Hashes Namen mit dem Zeichen "_" (SHA3_224 etc.) haben, liefert GetShortClassNameFromName(Name) nicht den erwarteten Wert zurück. => Dein FindNameShort wird immer FALSE und Result bleibt NIL. => Du löst bei Result=NIL in deiner Funktion die falsche
Exception EDECClassNotRegisteredException.CreateResFmt aus.
SHA3_xxx sind registriert und funktionieren.
Falls ich deinen Code korrekt lese: Da du im FormCreate über InitHashCombo; und InitFormatCombos; die Hash- und Formatwerte initialisierst, reicht in deiner Funktion als Workaround generell (oder mind. für SHA3_..) FindNameShort := TRUE.