I meant to press 3 as part of the macro. For example, my DVD recorder does not have discrete input commands nor a discrete power on command. However, pressing three (or any number) on the DVD recorder remote brings it to the tuner 100% of the time. Also, pressing play always turns it on. That is my known state. Since I have my VCR connected through the DVD recorder on IN 1, the macro includes the following commands: Play > 4 > Input. That command brings the DVD recorder to the tuner input and then to IN 1.
I actually do things in the opposite way to MDS. My press and hold skips the macro and goes straight to the device. Most of my components have discrete commands so I don't have to worry about known states for most things as those discrete commands mean the macros work regardless of the state of the components. If I'm watching TV (Dish) I can go to the watch page and run the TV macro as many times as I want and nothing will appear to change because I'm already watching TV. That is the magic of discrete codes.
VCR Macro ------------ TV Macro ------------- DVD Macro
The "Off" button turns off the entire system and returns the remote to the "Watch" screen. The "Off" button is punched through to every page so pressing off on any device page turns the system off and returns to the "Watch" screen.
I only use the VCR macro as an example because it is one of the more complex macros in my setup. I haven't used the VCR in ages.

I have spent some time to ensure that my macros are as transperent to the user and as reliable as possible. It doesn't matter how screwed up the system is, what settings have been changes, which components are on or off, running any macro will always restore everything to the proper state and it will work. ANYONE, and I mean anyone can use my system with no troubles. Some commands are sent twice to ensure that they aren't missed in the event that the component is being powered on.
I have had trouble with the Xbox. It doesn't always respond to power commands from the remote. I finally solved it (mostly) by sending the power on/off commands multiple times in each macro. It still misses once in a while though.

I don't know why it is so finicky.
Maybe I get a bit carried away?