ReadLn und WriteLn sind nunmal NUR
Ansi, egal ob zur Console oder zu einer Datei.
Die WideString-Parameter werden dabei intern nach
Ansi umgewandelt.
Wenn das mit Char/WideChar geht, warum willst du es dann mit einem AnsiChar-Puffer versuchen?
Wobei du doch weist, daß WideChar/Uniocode ankommt, also sollte man da auch WideChar und nicht Char verwenden.