Hi,
if you create a fresh new contact form in CMS, do not save it, add some form fields, do not save it, and delete the page. Then, the created form fields in the MySQL table `EditableFormFields` have `ParentID` == 0. They are not assigned to any page, cannot be deleted from CMS.
Maybe the addfield() method in the FieldEditor class should not write the created field. Then, client javascript has to make some unique ID, ID < 0, and then the fields (with ID < 0) should be created and written in the saveInto().
Cheers
Andy