Messing with busreq code changes how the corruption looks like and whether the corruption place also hangs, or does it continue like in the video. For example, if I replace the z80 un-reset write with nops (your original busreq code first writes to busreq and additionally to the reset register), the corruption starts to look different. But it looks quite consistent on multiple runs of the same ROM.
I don't know, maybe these changes allow z80 to run less or more and hides some real issue that happens elsewhere. It would be interesting to try with z80 driver that doesn't do anything, but it requires more hacking because SGDK waits for the sound driver to respond. In general I don't see anything unusual going on with the game on an emulator...