Гадостью CharToOem лучше не пользоваться, она корежит символы псевдографики. Для современных версий Delphi правильным будет решение через встроенные преобразования UnicodeString:
	Код:
	type
  OEMString = type AnsiString(CP_OEMCP);
var
  S: OEMString;
  U: UnicodeString;
begin
  ReadLn(RedirOut, S);
  U := S;
  Memo1.Add(U);
end;
 
По идее, должно сработать и прямое присваивание, поскольку OEMString физически тоже UnicodeString:
	Код:
	begin
  ReadLn(RedirOut, S);
  Memo1.Add(S);
end;