Erst einmal zum ersten Teil. Ein Char ist nicht 3 Bytes, sondern nur 1 Byte groß...
Code:
var
Ch: Char;
....
ft := TFileStream.Create(FileName,fmCreate);
try
Ch := #32;
with ft do
begin
Write(Ch,[color=#ff0009]1[/color]);
end;
finally
ft.free;
end;
...
...