My approach to this has been to have no delays on the keypad numbers, thinking that a person can't hit the screen numbers fast enough for the cable box to miss a second same digit. I've never had a problem with that.
Then I have added 0.1 second delays in macros ONLY when there are double digits. This has also always worked.
edit: I just remembered a detail about the delay. It is likely that the delay will need to be the same in every macro. But if I make ten such macros that work, and then find that I need a longer delay for one macro, since I want consistency I would have to go back and modify the delay(s) in each macro.
To avoid this, I alias all of the macros to a separate "digits" page where there is also a button named "delay." Every macro then aliases to the "delay" button for the macro delays.
I initially make this 0.1 seconds. If I find later that it needs to be changed in the macros, I can change that ONE button, and the delays are changed in all the macros all at once.
A good answer is easier with a clear question giving the make and model of everything. "The biggest problem in communication is the illusion that it has taken place." -- G. “Bernie” Shaw