Eric/Tom-
Why necessarily restrict the Wizard to a new window (Dialog)? Like Lars said, a Wizard is a special type of MPartStack which can be displayed in a separate Dialog (most commonly) or in a standard MPart (if you really wanted). Then when you press buttons like "Next", "Finish", etc. I think it would be more inline with the e4 model to use annotations such as @PerformFinish on the individual wizard pages. The wizard pages themselves should be an MPart so that it is possible to re-use them as standalone MParts. While I can't think of a case where I would want to do this off the top of my head, why necessarily restrict the use case.
With all of that said, I still think it would be appropriate to model the Wizard AND WizardPage as model elements. Even if no additional model functionality is added (which may well be the case), this would allow for instanceof checks.
So a big +1 for:
MDialog (extends MWindow?, ... ?)
MWizard (extends MPartStack, ... ?)
MWizardPage (extends MPart, ... ?)
MPreferencePage (extends MPart, ... ?)
And to touch on the Help System:
Thinking more about this lately; I feel as though this would be a perfect example of how to extend the workbench model.
Tying in with some of the concepts proposed for the IDE Working Group [1], I think the help system, as "fundamental" as it may be could be spun off into a separate project.
That aside, treating the Help System as a separate extension of the workbench model concepts would demonstrate how to add customized model objects and renderers to the workbench. I could even make the same argument for MWizard, MWizardPage, and MPreferencePage, but MDialog belongs in the actual model.
JD