Have you tried setting the field sliding options? (For details, see the Help topic: Removing blank spaces in printouts)
I did try to set the sliding field option, but to no avail -- even checked it in preview mode to see if the spaces were gone, and they were still there.
If it makes a difference, I export the layout to PDF before printing, and it exports exactly as is showing in browse and/or preview mode.
A little more... I thought FM automatically closed the space of an unused merge field, and I believe this is actually working. I think the whitespace is being left by the carriage returns... Is there an alternative to using a carriage return between sections so FM will ignore it if a section of merge fields are left unused?
I don't know how you have structured your database. If Course 1…, Course 2…, etc. are in separate records of a table, then you can create a layout based on that table with Course, dates, time, instructor in the Body part and Contract payables and other conditions in the Footer part (and probably Customer info in the Header part).
When printing a found set of records, the body will expand to the number of courses and the Footer can slide up