Couple of questions, do you have the CPSR.I bit clear and how do you send the interrupt?
As you're looking at the disassembly, how are you inserting the NOP?
How are you checking whether the interrupt is taken? By breakpointing the IRQ vector, or just by seeing whether any appears to happen?
What does the IRQ handler do? Does it return with the standard sequence (SUBS pc, lr, #4 or equivalent), or to some other address?