This doesn't tell us much, what platform? NES?
EDIT: I'm going to assume Genesis. So, since it's homebrew, I doubt that even though there's a checksum, that the game does a check for it. What exactly are you changing in the header, as there are vectors in the table that are essential for the game to function (notably H and V blank)? Also, have you tried running it on a modern emulator? A lot of homebrew roms were only tested on emulators that at the time were not up to snuff in the accuracy department so something that would work fine on say, gens, would break on real hardware.
Finally, later Genesis models had crude copy protection that would do a check for the string SEGA somewhere in the ROM, so games would need to conform to that.