The BSAVE header is a "stamp" that QBasic puts on an array that it saves to disk. It tells QBasic how to load it again, and where to stick it.
However, the modern OHRRPGCE engine ignores all the data except the size and magic number, which is what you should do too. In addition, many lumps still have a 7 byte header which used to be a BSAVE header, but now contains only garbage, and should be completely ignored.
|BYTE||Magic number (always 0xFD, 253)|
|INT||Segment. Set to 0x9999 by modern versions.|
|INT||Offset is always 0|
|INT||Length, the number of bytes|