Eine MultiByteToMultiByte Funktion wäre mir unbekannt und würde sicher selbst in einem
OS nicht anders als über den
Unicode"umweg" realisiert werden,
mit diesem tempären WideString (die Funktion selbst bräuchte letztlich nur wenige Zeilen - welche du schnell schreiben kannst).
Es wäre ziemlicher Aufwand für jede mögliche Copdepage<->Codepage Konvertierung die notwendigen Tabellen herumzuschleppen, es genügen nur die, mit der diese jeweils auf eine allgemeingültige (dafür wird eben
Unicode verwendet) eineindeutig abgebildet werden.
Langer Rede kurzer Sinn, ich denke, du hast schon die beste Methode gefunden.