qvb6,

Your help with themes thread actually helped a lot. An unrelated to my problem, in that thread, sparked off some weird ideas to solve the issue.

First weird idea, opening anything VBModal from inside a form that is already itself opened as VBModal, is strictly bad juju and not to be done.

Second weird idea, a do loop and DoEvents could pause Form1's code execution until the first report I was trying to print could be finished by the user and function.

So instead of calling the Active Report modally, I created a panel with the ARViewer and a Done button on it.
Form1 then sets a Boolean variable to false, displays the hidden panel, and goes into a do loop and DoEvents checking for the Boolean variable to be set to true.

User then prints/exports to Excel/emails the report and clicks the Done button which re-hides the panel, and sets the Boolean variable to True.

Form1 code falls out of the do loop and program execution continues.