I prefer something like this. Is uses SetFilePos for quick file random access and uses ReadInteger() for most of the time to read in 4-bytes chunks.
function LoadMemblockFromFile(filename$, offset, byteLength)
bytes = byteLength
mem = CreateMemblock(bytes)
f = OpenToRead(filename$)
SetFilePos(f, offset)
while bytes > 0
if bytes >= 4
i = ReadInteger(f)
SetMemblockInt(mem, byteLength - bytes, i)
dec bytes, 4
else
i = ReadByte(f)
SetMemblockByte(mem, byteLength - bytes, i)
dec bytes
endif
endwhile
CloseFile(f)
endfunction mem