Т.е. твой способ тоже обходится через Ctrl-P ?
Если да, то можно попробывать поковырять форму SysPrintForm - там в Init получают вызывающий обьект, от него и попробывать оттолкнуться.
Так если форма вызвана из диалога, там:
new, RunBaseReportDialog
А вот если по Ctrl-P:
client: printerDC: xprPrinterDisplay \\Путь к принтеру
Хотя конечно любую защиту можно обойти