I have setup a workflow (based on this tutorial) to generate (and increment) a form ID and set that form ID to the "Title" field in my form. Everything works fine except that I want to see that workflow generated form ID in a label control (so users can't tamper with it) when a new form opened. The workflow doesn't run until I save the workflow. Is there a way start the workflow that generates the form ID when opening the form so that I see the generated form ID already populated instead of starting the workflow after the form is saved?
I haven't gone through your article you have followed but I get the gist of what you need.
Firstly I think if you want a unique ID for your application you should probably depend on SharePoint's "ID" column as its almost certain you will always get a unique ID even if there are concurrent users etc and this is possible only when the record is saved and the DB gives back a unique identifier for the record just inserted.
Imagine if you had to create a unique ID everytime some one opens a form and if 10 people simultaneously opens the new form and some of them submits while remaining of them just come out of it without saving then you will loose those incremented numbers and you will have gaps in your unique numbers because some of them didn't save the record. (if you know what I mean).
I think if you want an unique and "Sequential" numbering for your records you will have to depend on it being given after the record is saved. This will save you a lot of hassle in checking for concurrent users trying to save a new record and still being given a unique number (other than a GUID) which is not readable in the larger scheme of things.
Hope you get the gist ?