Yo he estado haciendo unas pruebas de la siguiente manera
En un fichero Ms-Dos pongo distintos textos, con eñes, acentos etc,. lo cargo a un memo:
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Lines.LoadFromFile('E:\Pruebas\Fichero.txt');
end;
procedure TForm1.Button2Click(Sender: TObject);
var
s:Pchar;
begin
OemToChar(PChar(Memo1.Lines[2]),PChar(s));
ShowMessage(s);
end;
Y luego con la función OemToChar me lo convierte perfectamente, el ejemplo es muy simple pero no tengo tiempo para más.
Un Saludo.