>>424 そのエラーを出さないだけなら
Ms.Write(PChar(string(titleName))^ , nagasa1);
とか 代入を止めたらいい 

それから MS:=TMemoryStream.Create; を忘れている

でも、そのコードを見る限りは、Streamを使うよりは文字列のまま使った方がいいと思う
たぶん以下のと同じコードだと思うのだけど?
function LoadUniBi(const titleName: string; nagasa1: Longint): string;
var
wk:string;
Sz, n: integer;
begin
Result := '';
sz := length(titleName);
 SetLength(wk,sz);
 try
  begin
   n := 0;
   while n < sz do
   begin
    wk[n+1+0] := titleName[n+1+1];
    wk[n+1+1] := titleName[n+1 ] ;
    Inc(n, 2);
   end;
  Result := WideCharToString(PWideChar(PChar(wk)+2));//先頭2byteをカット
  end;
 except
  raise Exception.Create('メモリを確保出来ませんでした.');
 end;
end;