Wenn ich nichts übersehen habe, dann arbeitet die von Dir genutzte
Unit mit 8BitChar, wenn Dein Delphi mit 16BitChar arbeitet, hast Du erst einmal ein Problem.
Und ein verschlüsselter String kann auch Zeichen enthalten, die nicht Darstelbar sind, da könnte es auch einmal krachen.
Was ist denn wenn Du einen zu verschlüsselden und einen verschlüsselten und einen entschlüsselten String nutzt?
Gruß
K-H