とりあえず >>625 だけは変換出来る事を確認
(なお WideStringはAnsiStringに代入すれば自動的にUnicode->ShiftJisされます)

function WEcvt(const s:String): WideString;
var Sz, n,m: integer;
var Endian:boolean;
var p:pChar;
function getb:Char;
var w:string;
begin
 Result:=p^;
 if Result=#0 then exit;
 inc(p);
 if Result='\' then begin
  case p^ of
   'b': Result:=#$08;
   'a': Result:=#$07;
   'f': Result:=#$0C;
   'r': Result:=#$0D;
   't': Result:=#$09;
   'v': Result:=#$0B;
   'n': Result:=#13;
   end;
  inc(p);
  end;
end;
function getw:WideChar;
var c1,c2:Char;
begin
Result:=#0;
 c1:=getb;if c1=#0 then exit;
 c2:=getb;if c2=#0 then exit;
 if Endian then Result:=WideChar((ord(c1) shl 8)+ord(c2))
      else Result:=WideChar((ord(c2) shl 8)+ord(c1));
 if Result=#$FFFE then begin Endian:=not Endian;
 Result:=#$FEFF;
 end;
end;
var i:Integer;
var w:WideChar;
begin
 i:=0;
 Endian:=false;
 p:=PChar(s);
 Setlength(Result,Length(s));
 repeat
 w:=getw;
 if w=#$FEFF then continue;
  inc(i);
  Result[i]:=w;
 until w=#0;
SetLength(Result,i);
end;