Peter, I have Harmony's 890 so I don't know how the One behaves. But in the 8x0 series, you can't have a macro that has more than 7 steps. Since lot of the these DVRs require constant, click A to continue, click this to do that etc...the number of things a remote has to do can quickly add up.
Here's how my MX900 works. It has two main hard buttons if you want to use it. WATCH and LISTEN. For me, it defaults to WATCH.
Then it has six nameable hard buttons: (Limited to 7 or 8 char though) CABLE, BLURAY, PS3, XBOX360, WII, HD DVD
The CABLE button does the followoing
1) Turns on the TV
2) Turns on the Denon
3) Turns on the cable box
4) Sets a variable for the cbl box state to ON.
5) Pauses for 5 seconds
6) Sets the input on the TV to HDMI1
7) sets the input on the Denon to component used by the settop.
8) Goes to the CABLE submenu.
Once you get to the CABLE submenu, the hard buttons (that had CABLE, HDDVD etc) now change the labels to LIST, REPLAY, LIVE, A, B, C.
The nice thing about the URC is that it has a "punch through" option for volume. It basically tells the remote to use the Denon for the volume by default. So if you go the the CABLE submenu, you don't have to tell it to use Denon's volume.
The variables are now for TOADs (devices w/o discrete on or off). Since I set the variable of CBL STATE to ON, if I hit WATCH, CABLE again, it will not power on the CBL box. Pretty handy.
The other cool thing is that I can load up a different profile at will. When I had to take my Marantz in for FW upgrades, I had another profile that would turn on the TV, use the TV's volume etc.
This image below shows the main UI of the program (for programming the remote!)
This one below shows the "sub menu" of CABLE after hitting the CABLE hard button.
Finally, this one shows the MACRO involved with the hardbutton "CABLE). To avoid inputs not being recognized, I have my remote send the signal multiple times.
It's hard to explain it, but I really am attached to my remote!
PS: tried to embed the image, but I guess it didn't work?!?