Ciao,
scusate se mi intrometto. Non è necessario rendere visibile un form per stamparlo.
Lo riempi e lo stampi senza renderlo attivo:

frmStampa.Text1 = "pippo"

frmStampa.PrintForm


Ciao e buon lavoro