Well as I posted many pages before my theory was correct
And that 2 bytes are not a game ID, it is a well known 2bytes-checksum that is calculated as follow:
0 - Checksum initial value is zero
1 - Skip the first 512 bytes of the ROM (start calculating from offset 0x200 and on)
2 - Read a byte from the rom and multiply its ascii value by 256, then sum it to the checksum value
3 - Read the next byte from the rom and just sum it to the checksum
4 - If you're not at the end of file, repeat step 3
5 - Get the first 16 bits from the resulting checksum and delete the higher bits
here it is a small asm code for its calculation:
Code:
movea.l #$200,a0
movea.l #ROM_End,a1
move.l (a1),d0
moveq #0,d1
loop:
add.w (a0)+,d1
cmp.l a0,d0
bcc.s loop
movea.l #$18E,a1 ; Checksum
cmp.w (a1),d1
bne.w WrongChecksum
You guess it almost correctly: this checksum was introduced by Sega to try to avoid unathorized editing of the game data and this can be the reason why those kind of cartridges are not dumped by the original software but I suppose a patch can bypass this "protection".
EDIT: I already released a similar batch script days ago