Boris,
I do this in a workflow currently. I had to wait until version 10 to be able to do it, but it is working just fine. I basically have a forms process that I call from a workflow, wait for the completion of it, and then utilize the final variables to do other things in the workflow. So here's the scoop...I use the "Invoke Business Process" activity to start the Forms process I want, sending a few variables I am tracking through the set variable values part of the pane when the activity is highlighted.
If you want the workflow to wait until the Forms process is finished, you have to setup some kind of folder in the repository for the completed form to be submitted to from forms, and have the workflow use the 'Delay' activity...set it to the 'Until' option, and use one of the fields from the form. You could have a field on the form for instance that is blank until the final submission, in which case you fill it with a value the workflow can look for, or just any value that is not blank even. The delay activity in the workflow will then accomplish what you want, i.e. the workflow waiting for the forms process to finalize. Just assign any template to the form when submitted, and use one of the fields to capture the instance_id of the forms process, and submission id.
Now...once the forms process is finalized, you can get those final variables by calling the "Retrieve Business Process Variables" activity, and set the instance_id and submission_id values in the pane on the right to the value from those fields you filled when the form was sumitted on the template. You can get these by using a "Retrieve Field Values" activity just prior to this one. You can then have the workflow delete the submitted form if you don't need it. Hope this helps...it does involve some working around things but it works like a charm, I have done this three times already.
Rick