buenas,
no tiene que ver nada con javascript. puede ser cuestion de una de dos cosas: caracteristicas del navegador o configuracion. en caracteristicas, especificamente me refiero a si el navegador carga una nueva copia al momento hacer un impreso. es decir, que en lugar tomar el estado actual del documento, el navegador realiza una peticion al servidor cargando asi una copia. no recuerdo si habia un navegador que se comportaba de esa manera. en relacion a configuracion, debes revisar si el navegador esta configurado para imprimir los colores de fondo. para llegar a esa configuracion ya depende de cada navegador. por ejemplo en firefox, si primero haces una vista previa del impreso, en la parte superior de la ventana tienes un boton para configurar el impreso.