Why are you calling Interpreter commands to display messages? Even if not calling directly, if whatever you have implemented causes it to happen down the line, then the problem lies in your implementation. It may seem like an easy way to do things, simply inserting commands, but it is basically just asking for trouble. The Interpreter relies on having perfect structure to work, and one false command or a wrong "indent" will cause bugs that are going to be hard to track, and may evade testing, since they may only occur during specific situations in their processing.
If your implementation is altering event lists, then sorry to say, my best advice is going to be to go back to the drawing board and find another way. There shouldn't be any need to do it that way.
I may be misunderstanding what exactly you are doing, but you weren't very specific on what "I am able to bring up a new msg window at any time" means. Setting some instance variables to whatever value doesn't explain the logic behind what it happening. Would you be able to post some code or explain a bit more in-depth?