OK, I really thought that this was absolutely not going to work. But... I've got it working on a 32-bit Windows 7 computer and I suspect it will work in 64-bit as well. The printer I was working with had a parallel port, and after trying multiple ways to connect USB to Parallel which didn't work, BTW, I finally settled on this.

Change the network settings of the XPMode virtual machine. By default, it is set for NAT. Change it to the actual network adapter.

In Windows 7, set up a new printer connected to LPT1:, using the Generic/Text Only driver.

Share that Generic/Text Only printer. For example, as \\computername\cards

Back in XPMode, open up Printers and Faxes. Right-click a blank space and choose Server Properties. On the Ports tab, click Add Port. Choose Local Port from the Printer Ports list and click Add Port. Type in \\computername\cards and OK your way out, but don't close Printers and Faxes.

Still in XP Mode, install the XP drivers from the CD, and let it set up a printer connected to LPT1:.

XPMode doesn't have a virtual LPT1, and can't print to the physical LPT1, so we'll have to right-click the card printer in Printers and Faxes (which is why we left it open), go to its properties, choose the Ports tab, scroll down to our \\computername\cards port and OK our way out to select that port instead. Now we're printing to a 'network' port using the correct driver. Because the printer connected to the physical port is using the Generic/Text Only driver, it won't try to reinterpret the codes it receives.

Install in the XPMode whatever software you are using to print. We're using IDMaker Pro.