Well, I've got a thought. Not sure it would work, but worth a try.
In your calling program, create a public variable, say, TestVar and set its value, let it be 0. Define two functions that change the value of that variable inside it. Let one of them (SetTo0(), say) set TestVar to 0, and another one (SetTo1()) to 1.
In your report, put one field at the beginning of the Group Footer, another one at the end of the Group Footer. Make them invisible (set them to white-on-white). You can even put them where your regular fields are, and send to back, so they wouldn't take additional space, and your regular stuff would overlap them.
Put a call to SetTo1() in the expression of the field in the first one, call to SetTo0() in the second. I believe, UDFs are evaluated one by one, as they come in the report.
Now, put a condition in your Page Footer Print-When expression relying on that variable. Say, make it _PAGENO=_PAGETOTAL AND TestVar=0 (thus, making sure that printing of Group Footer is over).
See if it works.