As with dialog templates, menu templates have also gone through a four-stage evolutionary process. People don't often generate menu templates in code, although the
LoadMenuIndirect function is there waiting for you once you get the urge. As a result, there aren't many questions from people trying to generate menu templates dynamically, but I'm going to go into the history of menu templates anyway, just out of a sense of completeness.
If you're having problems with your dynamically-generated menu templates, you can ask the resource compiler to tell you what you're doing wrong by createing a *.rc file for it and compiling it into a scratch program. Dump the resource as bytes, and there's your answer. Same trick we used for dialog templates.