Ok, I think I know what's going on. Sort of.
First, it looks like this is caused by falling through to super:handleEvent in rm100:handleEvent.
Why does it do this? Look at the logic... if the current room state is 4, then it will call super. I guess in the normal case, an event will never be received while in state 4. (Although state 4 lasts for 5 cycles, so I don't see why an event couldn't come through if you clicked fast enough. Anyway, putting a DrawPic in case 4 has changed things. I'm not sure exactly how the interpreter handles events while a DrawPic transition is happening... but I guess events can come through? Hmm, no that doesn't really make sense. Maybe they are batched and get processed in the next frame immediately, and we're still in state 4.... anyway, I'm not positive.
[edit:] Ok, well if I increase the cycles from 5 to 20 or so, I start being able to repro the problem. I'm not sure why less than that makes it impossible to repro.
As for stopping the 100.msg from coming up, I was able to put an empty doVerb method in rm100:
(method (doVerb theEvent)
// don't call super!
)
I'm not sure if that's the "prescribed" way or not (maybe looking at title screens in other sierra games would clarify), but it seems to work.