NOPAGEEJECT isn't unelegant, too.
I'm just thinking of so many more opportunities of a helper/parameter/result object:
You could have several properties with Information available after the report run, you can add parameters to such an object, which RunReport() then makes available as report variables, and the class can also have helper functions you could use/embed in a report.
I guess they consider it better to only need the REPORT FORM as that's what most VFP developers use to print anyway and it means less changes to existing code. You can also make OBJECT TYPE 10 more speaking by defining a constant that points out PDF output and is 10. But then I mainly complained about the "misuse" of the TO FILE option and the redefinition from its original meaning. TO FILE once was a means to be able to produce files you then could perhaps save to disk and send to a printer on another computer, before printers were networked.
Or collect a few files and then print them all at once, during night, when you're not in office and don't have to stand the noise of needle printers or worse.
I guess not even Mike Lewis will share my view, as TO FILE some.txt always also was a simple text report end result. They weren't the end product, usually. And now reviving this REPORT FORM option is not a bad idea, but it is giving less informed developers bad ideas of how this is usable in general, while it's not.
Chriss