When entering the printer setup from the preview dialog, the page orientation is by default the printer's default, which leads to confusion when the grid.printersettings differ.
Adding
printer.Orientation := grid.PrintSettings.Orientation;
before calling the PrinterSetupDialog fix this.