I realize that this doesn't help your cause, but it's something to consider - I think that there are other things you could be dedicating your time to implementing on your website. In this age, the display of a web page when it is printed is simply... well, not important. The important part is that it looks good on the screen, cross-browser. That's the whole idea behind the web page, is that it's something of an alternative to the distribution of publications and propaganda by paper.
Whether or not the background image is printed is up to the browser, nothing you can do with code. It's a setting in the browser which decides whether or not to send background images to the printer. In IE7, click Tools->Internet Options->Advanced. Click the check box under Printing for print background colors and images. It's probably something similar in other browsers. I have many clients require this and they all use IE so I'm not sure about the others.