Many Genesis ROMs have routines that verify that data hasn't been corrupted prior to running. To fix this, you'll need to update the checksum to match that of your hacked ROM. You can do that using
Fix Checksum.
I'm not sure how relevant it is to what you're wanting to do, but I would recommend only working with .bin format ROMs. If you need to convert your ROMs, you can do so using
SBWin.
And yes, data positions are different from game to game. There is no standard format that says "graphics go here, sound goes here, level layout goes here, etc.". It's all a matter of where the programmers felt like putting it.