Trigger Macro Once When Switching to Application?

TL;DR: can you stop a macro from executing if it (or another specified macro) ran within the last few seconds?

Ok I have a new issue...

Just to complicate things, I also have SD profiles that trigger based on the currently open plugin window. I have a dedicated SD button that OCR scans the open window, then opens the corresponding blank app that triggers the profile. Trouble is, when the plugin profile has been set and focus returns to Logic, it triggers our macro to switch the profile to Logic, so in effect it breaks my plugin profile triggers.

Perhaps there's a way to disable the Logic profile trigger if the plugin profile trigger has just run, within say the last 3 seconds? This, incidentally could be another way to break the logic profile loop, assuming it's possible at all...?

Maybe this is relevant here? Condition for whether a macro is being run from within another macro - #3 by JMichaelTX

...or @ccstone's contribution here?: MACRO: Get Recently Run Macros with Last Executed Time - #27 by ccstone