Quick answers:
1) Have you got SP3? It solves TONS of print related bugs, i think also about tray selection.
2) libSIS.cmSetRptFileNameOfReport, libSIS.cmSetRptNameOfReport, libsis.cmGetTray() are call to functions in libraries of yours, you should also post these functions, especially libsis.cmGetTray(), if you want us to debug them!
3) Have you tried using ReportPrintInfo structure instead of DynArray form of report.print()?
Longer Answer:
No, you can't send escape codes to the printer via standard ObjectPal. Surely you can call Win32 API from within OPAL to set the default printer or default tray to what you want, print with pdox then return all to previous settings; Consider Pdox works, as all windows apps, at a totally device independent level, so no escape codes could be sent to the printer.