Das Problem ergibt sich ggf. aus sog. "Escape" Zeichenfolgen.
Das "\" wird als Escape gewertet und vom Treiber eben falsch interpretiert.
Es stellt sich also die Frage, warum an den Treiber die falsche Zeichenkette übergeben wird.

Das hat mit Übersetzung zwischen AS/400 und Treiber nichts zu tun sondern bewegt sich auf der Windows-Ebene.
Wie gesagt, es gibt für die Windwos-DLL's 2 Aufrufarten, entweder als char-Zeichenfolgen (A-Version) oder Unicode-Version = Wide-Character (W-Version), auch als BSTR bekannt.
Irgendwo da gibts ein Umsetzungsproblem, wie wohl der SQL-Trace aufzeigt.