Evidentemente si no hay una impresora instalada, Crystal arroja un error, para evitarlo, hay que detertar si hay o no impresora.
'variables declaradas como globales, para porder ser utilizardas desde cualquier parte
Global G_Prn As Printer
Global G_HayImpresora As Boolean
Global NombreImpresora As String
'Detectar impresora
    For Each G_Prn In Printers
        If Printer.DeviceName = G_Prn.DeviceName Then
            NombreImpresora = G_Prn.DeviceName
            G_HayImpresora = True
            Exit For
        End If
    Next
' asi se obtiene lo siguiente:
'Si hay impresora, la variable G_HayImpresora, tendra el valor TRUE
'Ademas la variable NombreImpresora, tendra el valor de la impresora que tiene'el
'el sistema instalada por defecto
Con lo cual, si G_HayImpresora  = False, pues no se manda imprimir el report
espero que esto solucione tus problemas
www.scgestion.compegale un vistazo, no te arrepentiras