Soweit ich weiß sind Delphi-Strings nullterminierte Char-Arrays, das heißt, an der Stelle, wo ein #0 ist, ist für Delphi der String zu Ende. Du wirst wohl nicht umhinkommen, das ganze "per Hand" zu laden, also mit einem Filestream und immer schön schauen, ob grad ein #0 da ist.
Ein Filestream lässt sich recht leicht bedienen:
Delphi-Quellcode:
var buf: Char;
str: String;
fs: TFileStream;
begin
fs:=TFileStream.Create('Dateiname', fmOpenRead, fmShareDenyWrite);
try
while fs.Position<fs.Size do
begin
fs.Read(buf, 1);
if buf=#0 then
//...
else
str:=str+buf;
end;
finally
fs.Free;
end;
end;