A: 

The way we pop screens in our app is to explicitly pop the screen you want off the stack, as opposed to just the top-most screen. This either requires keeping track of which screens you have on the stack, or some code to iterate through the screens on the stack and search for the particular screen you want to pop off.

Marc Novakowski
I can appreciate that but the problem I am having is that when the menu button is pressed the screen that is on top of the stack is a blackberry default menu screen. At this point, if I try to pop one of my own screens, the application falls over without any exception being thrown to give you an idea of what happened. I don't seem to have a way of dealing with that apart from just removing the blackberry menu screen. It seems this was implicitly done for you in previous version of the OS
Greg McGowan
Ah sorry - I misunderstood the question. That actually sounds like a bug. What do you mean by "fall over"? Completely shut down? If so you may want to file a bug with RIM in their developer bug tracker.
Marc Novakowski
No bother. Perhaps I did not make that clear enough. Yes, the application completely shuts down. I'll have a look in the developer bug tracker and see about filing a bug. Thanks for the response.
Greg McGowan
A: 

The only way round this I managed to find was what I mentioned in the question. When I want to remove the current screen. I need to check it is the same as the active screen. If it is not the same then I just remove the active screen until I reach the screen I am looking for. This would only happen if a menu or pop up was displayed. Also, I need to add checks to my custom pop-up code to make sure it does not try and remove a screen that has already been removed.

It seems a bit messy but could not find any other alternatives.

Greg McGowan