Entweder du nutzt ein HexToByte, welches AnsiStrings als Parameter nutzt,
du castest es manuell
d := AnsiString(HexToByte(String(s)));
(genaueres können wir nicht sagen, da uns die Definition von HexToByte vorenthalten wurde)
oder eben einfach ignorieren.
In diesem Fall wird ja so oder zo umgewandelt,
entweder automatisch durch Delphi (wobei dieses eine Warnung ausgibt)
oder man castes es manuell, ohne eine Warnung zu erhalten.
Solange nur
ASCII-Zeichen (#0..#127) im String sind, gibt es absolut keine Probleme, bei
ANSI (#0..#255) sollte es hier auch nahezu problemlos laufen, da es ja nach
Unicode und
gleich wieder zurück umgewandelt wird.