Hi Paul,
It really does not matter what method you use to create the worklist items in the default client event - whether you use Web Page, Mobile Webpage or Exchange Form - the important part is the Serial Number.
In your WinForms application you'll need to utilize 'SourceCode.Workflow.Client' in exactly the same way you used to do it with 'K2ROM' in K2.net 2003 - the only difference is in the connection string. Open a connection to the HostServer and retrieve the worklist for the logged on user using the 'OpenWorklist' call with or without a WorklistCriteria object. When the user then selects a specific worklist item, you can open the item (again, exactly the same way you did in K2.net 2003) by calling the 'OpenWorklistItem(SerialNumber)' method.
The only drawback is that the users will not be able to utilize the out-of-the-box Worklist to action their worklist items but I suppose that is the whole point behind creating a custom worklist application.
As for which form to display, yes, I think your idea of storing some state in Activity level datafields should do the trick.
HTH,
Ockert
The statements and opinions made in my postings are my own, and do not reflect the opinions of SourceCode Technology Holdings, Inc. or its subsidiaries. All information is provided as is with no warranties, express or implied, and grants no rights or licenses.