The first change I made was to start the workflow automatically on item creation.
The workflow failed on the first run with "The workflow could not update the item, possibly because one or more columns for the item require a different type of information." - I noticed that the form data XML was encoded and needed to be decoded. I also noted no error handling was happening on the Query XML action so I added that in too along with some logging to history list so I could see the data that was trying to be added to the list (disabled in attached workflow as I always disable log in history list actions after I have finished development to avoid hammering the workflow history list with data).
When looking at the output of running the workflow I noticed that there was a missing # in the Create item action and updated it so that the "Type 1" was always added.
I added labelling to work out what I was doing - I hate no labels on workflows; it physically hurts me. This helped me to identify that the Date being used in the create item was actually the wrong variable (the collection output is dDate)! This raised another problem. dDate the collection operation returns is in string format and the create item action wants a date variable!
I added a convert value action to change my text variable dDate into a date and output to Date.