mm cheka este codigo:
http://progra.fime.uanl.mx/SyntaxHighlight.js
fijate en la funcion "dp.SyntaxHighlighter.Utils.PrintSource = function(sender)"
yo le puse un alert x que no me funciona en firefox cuando mando a imprimir pero lo que hace es que crea un iframe no visible el cual se imprime funciona en explorer si documentas el alert
Saludos