OK, so after more digging, I figured out that when macros are running, live DDE traffic is halted, even though macro commands that request DDE data are still performed.
So, does anyone know the workaround for updating and printing while using a macro?