What you're seeing in the Millenium4 is something different from what we call DSM. The Millenium4 just doesn't do macros the way other UEI remotes do.
IR doesn't know what a DSM is (Have I mentioned lately that this is one of the things I would add if someone rewrote IR in C++). Without that sort of support from IR, there a several approaches to doing DSMs. The main one is:
1) Put the (global) macro you want on a phantom key. 2) Install a special protocol (needs a device upgrade and protocol upgrade) that lets a key move launch a macro. 3) On a real key of the desired device define the key move to launch the macro on the phantom key.
One of the experts must update the protocol upgrade (for step 2) with 15-2116 support. Then you install the two upgrades and the key move and the macro. IR doesn't even know that macro relates to that key move.