Hombre Dec, me has dejado estrañado
En las cadenas de texto (strings) tanto en C como en delphi, se manejan de una forma similar (por lo menos internamente), cada caracter se corresponde con un byte. Si tu escribes esos bytes a un archivo, tal cual, tienes un archivo de texto completamente legible. El caracter 'A' es igual al byte 65, da lo mismo si en un archivo de texto guardas una 'A' que si en un archivo binario guardas el byte 65.

La verdad me siento un poco tonto explicandote esto a ti que seguro ya lo sabes ....
Por ejemplo:
Código Delphi
[-]
var
F: File;
T: TextFile;
B: Byte;
begin
AssignFile(T,'d:\1.txt');
{$I-}
Rewrite(T);
{$I+}
if IOResult=0 then
begin
Write(T,'Hola');
CloseFile(T);
end;
AssignFile(F,'d:\1.bin');
{$I-}
Rewrite(F,1);
{$I+}
if IOResult=0 then
begin
B:= Ord('H');
BlockWrite(F,B,1);
B:= Ord('o');
BlockWrite(F,B,1);
B:= Ord('l');
BlockWrite(F,B,1);
B:= Ord('a');
BlockWrite(F,B,1);
CloseFile(F);
end;
end;
En el ejemplo anterior, ambos archivos son iguales. Y el segundo no puede ser mas "binario"

. La única forma de hacer ilegible una cadena es el cifrado, entendiendo que cifrado no solo incluye métodos de criptografía como AES, si no también métodos tan simples como cambiar cada carácter por otro.