Hab inzwischen auch mal reingesehn:
EncodeBinary und DecodeBinary arbeiten nur mit dem Typ "Binary", welcher als AnsiString, bzw. einem RawByteString (welcher auch einem AnsiString entspricht) deklariert und für "binäre" Daten gedacht ist.
Tja und bei String/UnicodeString > Binary/AnsiString > String/UnicodeString müssen zwangsweise Unicodeinformationen verloren gehn.
Allerdingt gibt der Compiler bei sowas standardmäßig eine Warnung aus.