The MSDN docs say about PrintOut:
The PrintOut method uses the current printer settings
So, that's out. It looks like the XmlForm.Print method also uses the current printer settings, so I don't think switching to 2007 would make a difference here. It may be changing the default printer is the only path for this.