Within one macro you can invoke another macro, and that macro can invoke another, and so on; you can nest macro invocations to any level. When a macro calls another macro, DITA2Go notes the “nesting level” and compares it with the limit you set:
[Macros]
; MacroNestMax = maximum depth of macro calls in one statement
; used to prevent runaways when macros call each other in circles
MacroNestMax=128
[Again]
<P>Play it again, Sam.</P><$Again>
you would get at most 128 lines, then DITA2Go would continue. You cannot crash it by making it loop.