JLee:
I've set up Girder to do this before (I've got one key that stops winamp if it's playing, then displays an OSD that says 'Press again to close winamp.') The stopping of winamp requires knowledge of whether it is currently playing or not, I don't think this can be done with MC... however the two button shutdown can be.
I'll describe it below, but if you want help or just a copy of the Girder Group - I'm on ICQ/Yahoo/MSN/IRC, or I could PM you the XML (just cut and paste into Girder).
Monkeyboy's way works fine too... depends on how you want to do things, nice to have plenty of options :)
(Create three multigroups - 1,2 and 3 below)
1. Sub: Shutdown (test close variable)
*This is where you learn the events*
Create a multigroup that tests a variable (eg MC_Shutdown - note, variables are case sensitive) is set to one. If it is, jump to 3. If not, jump to 2.
2. Sub: Shutdown (button test subroutine)
This multigroup first display an OSD that says "Press again to shutdown" (or whatnot), an alarmtimer, a break command ("stop processing") plus one command to set the variable to 1, and one to set it to 0 (both after the break command). The timer is set to the same time as the OSD (I've got them both at 1000ms - 1 sec), repeat is -not- ticked, OnStart jumps to 'set variable' & both OnEnd & OnCancel jump to 'delete variable'.
3. Shutdown (main command)
Put whatever you want to occur to shutdown things in here.