I'll tempt to answer!
Macros in the interface can't be stopped once there started (well if you unplug the CM15A they can) you can how ever stop a macro from starting with conditions.
You say you have a macro starting a macro so you could have a condition in the first macro that would only fire the second if conditions were met.
If you already have all the conditions you can cram into your macro you may have to use flags in place of some conditions, which can expand your conditions. But then you'd be getting into so complex stuff (not that using flags is complex but you can make it so!)
With out knowing exactly what your trying to do I realy can't help. It is posible that placing a phantom module in your first macro would help!