I've resorted to taking advantage of the fact I'm running an emulator and made it print a message to stderr every time it changes the interrupt level. Which, conveniently, didn't boot as well (although it got stuck a lot later).
However, the problem was found: Seems like all the interrupt code is fine, except that the initial value in STATUS is wrong for MIPS1, as is the check - it fits MIPS3 or later. Thanks for the help!