I do the same. My channel switching macros for Pay TV all start with and with a call to a macro. The start macro ensures that the box is in the correct mode to accept channel numbers.
I also have a macro for each digit, which includes a delay. If I want to change the delay between digits then I have just 10 macros to change rather than hundreds of channel buttons.