Hi!
Does it work if you set the type of the workflow attribute to "Any"??
If you want your Scripting objects to be "transferable" between different elements in the workflow (aka. having them as typed workflow attributes), you have to implement a "finder":
This is done in the PluginFactory class in you Plugin.
Consider it happens that the vCO service restarts while the workflow is "waiting" at the use interaction in your example. Then the PersonInfo object is gone from the memory, and vCO must be able to find that object again.
For the basic dataytpes like a string that is not necessary, because they can be reproduced just by having the value.
You can find examples for these finder methods in the SolarSystem example as well.
Some other tips:
Don't miss the documentation of the Plugin SDK, right now that is only available as part of the Eclipse help. (I admit, that is not the first place where I looked for it, too ;-) )
Read the Best Practices Guide: http://communities.vmware.com/docs/DOC-20393
Increase the loglevel of your vCO Server to "debug" (don't do this in production, it slows down the vCO server quite much!). Then you see much more information about the different calls to the Plugin that happen when a workflow runs.
Cheers,
Joerg