When I see something that won't boot, I usually open the ROM in a debugging emulator and put a breakpoint somewhere. If you suspect that the IRQ handler may be at fault, put the breakpoint at the start of the IRQ handler.
Unfortunately, the most popular debugging emulators use either 32-bit Wine (FCEUX) or Mono (Mesen) rather than Qt, GTK+, or SDL. If you lack the space to install the libraries needed to run 32-bit or CLR executables, you could check the FCEUX (SDL) source code out of
FCEUX SVN and add an execution logging feature that writes each executed instruction to a file. Or have you tried building
NESICIDE?