Chriss, I'm not muddling with the default printer at all.
I think there is an error in the VFP help file:
The VFP help says:
SYS(1037, 2): Sets a report's printer environment settings to the default printer settings.
But if you read the help file further it's not true, but the opposite:
SYS(1037,2) serves as a way to save current printer settings to a cursor temporarily so you can restore the printer environment later. As such, this function always stores complete details to the cursor you provide.
So SYS(1037, 2) takes the settings of the VFP default printer and stores them in the currently used report frx file. It doesn't change the settings of the default printer!
I believe the first table in the help file mixed up SYS(1037, 2) and SYS(1037, 3) and this causes a lot of confusion!
Only SYS(1037, 3) takes settings from a report file and applies them to the current VFP default printer. I never use this function.
In fact, I double checked again how I'm doing it and it works this way:
1. Save the current VFP default printer's name using SET("PRINTER", 3)
2. Let the user choose a printer GETPRINTERS()
3. Set the chosen printer temporarily as VFP default printer using SET PRINTER TO NAME
4. Create dummy cursor of a report and BLANK FIELDS expr, tag, tag2
5. Use SYS(1037, 2) to save the settings of the VFP default printer (the printer the user has chosen before) to the dummy report
6. Call SYS(1037, 1) to let the user choose settings like orientation, paper size, paper tray (defaultsource) and save these in the dummy report.
7. Parse the settings in the expr field of the dummy report and copy them to reportsettings.dbf together with the printer's name and the reports name.
8. Set VFP default printer to old default printer using SET PRINTER TO NAME
The VFP default printer remains the same and the settings are never changed!
When printing the report I open reportsettings.dbf, SET PRINTER TO NAME to the printer named stored in reportsettings.dbf and inject the expr field settings from reportsettings.dbf to the report file (to be exact a copy of it) followed by REPORT FORM. Then I set back to the VFP default printer using SET PRINTER TO NAME.
For the end user that's an easy and straight forward way to make individual settings for each and every report.
For edge cases like printer saturation etc., if you really need different settings for different reports, you can still add additional printers to Windows. But you end up having maybe a maximum of 3 or 4 printers in Windows instead if 20 or more when you need lots of different settings (orientation, paper size, paper tray) for every report. With the above approach you don't get lost in confusion and don't need an expert making these settings for you in Windows. If you think about it, creating seperate printers in windows is a big workaround and emerges only because of a lacking capabilities of VFP or Win32Api. You have one physical printer, so why have several printers in windows and install drivers again? When all or most of the settings you need can be targeted from VFP. It's not intuituve from the user's perspective to have the same printer several times in Windows and it creates more work in setting things up and maintaining it.
So I think the above approach is the best to give maximum comfort and options to the user, plus you are always free to add printers in Windows when you need more options

You may disagree...
Regards,
Manni