I haven't experienced this yet but you may want to see what happens when you use the API function ShellExecute to print the item:
(You will need to save the data to the file ,or better to a temp file, first)
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation _
As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
Private Const SW_SHOWMINNOACTIVE = 7
'==============================================
Put this in a sub and pass the file path and name to it (sFilePathAndName)
'Will print the file using the application the is the default type for the file name extension
ShellExecute Form1.hwnd, "Print", sFilePathAndName, ByVal 0&, ByVal 0&, SW_SHOWMINNOACTIVE