PropSheet_SetWizButtons macro lets you manipulate many of the buttons on a wizard, but the Cancel button remains elusive. Why can't you disable the Cancel button or the "X" button?
Because our users tell us they don't like it.
Observation of users in our labs and interviews with them reveal that wizards that disable the Cancel button cause them stress and frustration. Put yourself in their shoes: You've started some operation, the wizard asks you a few questions, you answer them, and then, uh-oh, it asks a question you can't answer, or you realize that you don't want to do it after all because the wizard told you that completing the task will have some undesired side-effects or because one of the steps is taking too long. You want to cancel out of the wizard. But the wizard won't let you. "Ha-ha. Now I'm going to force you to do what I tell you! You're trapped, I say, trapped! Mwaaa-ha-ha-ha-ha!"
Don't do that to your users. It only upsets them. Let them cancel and live another day.