I've investigated the Crystal stage death warp mentioned above for RTA and figured it would be relevant here too. What I've learned is posted in a topic on the
Mega Man RTA forums.
The gist of it is as GlitchMan explained for the napalm bomb version. Object slots get filled and Mega Man's values get corrupted. The suicide setup does the same with death explosion bubbles instead, and the relevant details are that your current room number is now something very high which lets your respawn in the boss corridor, and the new enemy's object index gets written over the respawn timer, delaying it by around 40 seconds.
The things to optimize here are the downtime between taking hits, and the value that gets written to the respawn timer. What I haven't figured yet is why sometimes I can't get the glitch to happen on any frame, which seems to happen consistently if I set up the relevant enemy index as 08 and also on some setups where it's 09.
It seems likely that there would be other enemies which could be used to trigger the glitch, but finding those is more work which I haven't got to yet. edit - As I added in that thread, the issue isn't the subroutine's return value, but omitting the check for a status flag set there. There are few places where
that occurs, and being able to warp to another room isn't useful in any of the other cases.