Dein BlockRead-Record-Ansatz ist zwar ziemlich Old-School, aber würde hier durchaus funktionieren
Old-School = Good-School;
Eine Binärdatei ist für mich eine 1:1 Entsprechungen eine Speicher-Datenstruktur ohne ausgerichtete Felder -{$A1}. Keine längen Bytes, Trennzeichen, kein ^Z am Ende usw.
Wenn ich ein Byte in eine Datei schreibe, muss die Datei auch nur ein Byte lang sein.
Wenn ich 100 Datensätze mit je 15 Byte weg schreibe muss die Datei auch 1500 Bytes enthalten. Nicht mehr und nicht weniger.
Dann ist es in meinem Sprachgebrauch eine Binärdatei...
Mavarik