Hi Paul! Thanks for your suggestions and kind offer.
1. Dynamic on-the-fly form creation via Javascript. For example 3 parts of the form could be related to a drop down box. If choice 1 is selected only section 1 of the form is shown the other 2 could either do the funky AJAX shrink or just grey out so no data could be entered.
My credo has always been to 100% support non Javascript environments, and while dynamic Javascript based forms are quite intuitive and nice to handle, they kill non non Javascript environments. But I'll keep it as an action item, perhaps for a commercial version ;-)
2. Tracking is great, but if (like us) you wish to report from the database directly its DB design is awkward. Could it write data to the DB with each field being a DB column and..
The table/field structure is quite flat and only in favour of a small DB foot print. I understand that this can make SQL queries a bit more difficult, however if I'd be using fixed columns (based on form fields) I'd have to recreate table structure each time something changes in the form and I'd have to have for each form separate tables, which to other users with many many forms would be unacceptable.
A workaround will be to switch off the internal tracking and use your own, with the next version I hope to include (next to the current (do_action hook) a filter mechanism: with these two, you can post-submission alter user input and do whatever you want with the data, e.g. save it in your own database tables.