Don't use global state to manage a local problem, practical exam
There was much speculation as to how the “Ignore other applications that use Dynamic Data Exchange” setting got set. Well, one possibility is that somebody used global state to manage a local problem. “Why on earth does this setting exist?” I don’t know, but there appear to be scripts which rely on it. The setting is exposed to scripts, and perhaps at some point you ran a script which didn’t want Excel to be interrupted while it was running. The documentation for the Excel Application Object does say that it contains application-wide (global) settings. I’m not saying that’s why you are encountering the problem, but it’s just one possibility I ran across while doing some Web searching to learn more about the setting.