A couple of workflow gotchas:
Watch for trailing spaces when passing values to the workflow system functions Get Process Instance for Key or Get Activity Instance for Key. For example, if you are using batch and batch type as key data and you send "V " and 12345, it becomes "V |12345" while your key data is "V|12345" which of course is not the same.
Update Proc Inst Attb Single picks your first DD item of type you want to update (so, don't use the same DD item twice in the data structure, if you want to use this function and want to update the second OWYSNO in the data structure)
Watch out for OR and AND at the end of the Workflow Activity (Transistion And Join). These can either hang things up or send things on too early.
If you can, create (copy) new versions, rather than editing, if you have tested a version. I find that this works better for me.
System functions seem to be the only way to update the additional data in a workflow. I also tend to force a lot steps to complete/bypass using system functions in event rules.
I am in XE, but we are checking things in 8.9, so we will see if there are any new problems in the next week or so.
Jim