We have done this with another approach-- call the Universal Batch Engine (UBE) report from a Visual Basic script (.vbs) which then calls the other application. The restrictions on this are:
1) You have to run the .vbs on a machine with an open session of OneWorld, signed into the environment you want to run the UBE against.
2) You don't get the opportunity to change Data selection, etc.
If this will work for you, here's a sample program that launches an UBE, then when the UBE is complete launches "calc". You would, of course, replace "calc" with your application. Hope this helps:
' From here until the end is the contents of the file "launche_ube.vbs".
' Put this in a file, save it, and double-click the file.
' Launch_UBE.vbs - Tim Allen
option explicit
' CONFIGURACIÓN
const ube = "R014021"
const version = "ZJDE0001"
' visible = 1 to open the PDF,
' visible = 0 to leave it in c:\b7\printqueue unopened
const visible = 1
' Installation disk of OneWorld *WITHOUT BACKSLASH, WITH COLON*
const jdedisk = "c:"
' FINAL DE CONFIGURACIÓN
launch_ube ube, version, visible
sub launch_ube(ube, version, visible)
dim s, cmd
' Open a shell
Set s = WScript.CreateObject("WScript.Shell")
cmd = jdedisk & "\B7\system\Bin32\ubeprint BCH " & ube & " " & version & " " & visible
' Run the UBE, the another program. The ",,1" forces the
' first command to complete before calling the second command
s.run cmd,,1
s.run "calc"
set s = nothing
end sub