Moin Michael,
wenn Du ein Array als Buffer verwendest, musst Du den Index des ersten Elementes angeben, ab dem der Buffer gefüllt werden soll.
Code:
BlockRead(ProtFile, ProtFileData[color=red][0][/color], FileSize(ProtFile)) ;
So sollte es gehen.
BTW: 998 = ERROR_NOACCESS = Ungültiger Speicherzugriff.