I was able to make contact with Jeff Webb, author of *Excel 2003: A Developer's Notebook* (which includes some great stuff on InfoPath). I summarize his comments here for the benefit of others who might later see this thread and have a similar challenge to mine.
Basically, he didn't think using code to populate a templated XML-mapped Excel spreadsheet just so that I could use Excel's printing features was a good way to go. It might be fine if I could use XML maps in a straightforward manner, but that only works for fairly simple scenarios.
He said I should seriously consider XSL-FO. I had considered this before, but when I found out InfoPath templates have no native support for XSL-FO (i.e., in the view XSL files) I decided against it, failing to consider an external transformation of the InfoPath form data.
Many people aren't that comfortable with writing XSL, but fortunately there are some really good tools on the market for creating the XSL-FO files. Altova.com offers StyleVision, though you have to buy the Enterprise Edition to get FO support, and it's pricey. Jeff also recommended products at ComponentOne.com, specifically Reports for .NET. This is much less expensive and also offers a WYSIWYG UI for creating XSL.
In summary, he wrote:
"You mentioned Altova -- their tools are great. If you're doing a lot of XML I recommend them highly. This would be my favored approach because the transform is the most flexible and I'm comfortable with XSL. If I really wanted to get fancy, I'd output the result as an Excel XML file not linked to the data. Then the user can decide what they want to print, reformat, etc.
"The advantage of the Component One tools is that they hide the transformation (they are XML-based, but their tools are click and drag). The learning curve is less steep, but you need to write some .NET code. You can also output Excel files from here.
"Those two choices are the best tools in the arena for your job, I guess I'd choose one based on what type of work I forsee for the future (how much XML/XSL do you want to learn)."
I hope this helps someone else out there.
Patrick