Опытным путем установлено, что работает вот так:
Код:
MemStream.Read((PByte(pMap) + sizeof(BitmapInfoSize) + 4)^, BitmapInfoSize);
и
Код:
MemStream.Write((PByte(pMap) + sizeof(BitmapInfoSize))^, BitmapInfoSize);
Почему надо прибавить 4 байта к смещению непонимаю.