> It's as if the debug session is sending nothing back to ArcMap (or ArcMap is ignoring it).
Yes, that's exactly right. The debug opens a new python.exe process in IDE (Interactive Development Environment, i.e. IDLE, PyScripter, etc).
Using arcpy.mapping to alter the current map is a special case, as to alter the current map you need to be in the ArcMap python session. (sys.executable is ArcMap.exe).
The IDE is in its own python.exe shell apart from ArcMap, even running "in-process" it's a sub process, it can't "reach back" to the objects loaded in ArcMap's "CURRENT" document.
The easiest way to test python code that uses arcpy.mapping to alter the ArcMap current session is to load it or paste it into the ArcMap Python window.