a dire il vero i campi sono sempre presenti ed attivi, il bottone si limita solo a renderli visibili...
deduco dalla domanda che tu non sia un programmatore, quindi ti dico che secondo me ti stai incasinando la vita, meglio se ti crei i campi nella modalità standard (se vuoi inserirli nel db e nella mail).
generati in questo modo infatti CF non ne conosce l'esistenza, quindi non li inserisce nella creazione della tabella di salvataggio che dovrai modificarti manualmente.
inoltre, essendo i campi definiti come un array, CF non potrà farne il bind alla tabella, quindi dovrai inserire il codice per convertire l'array in un formato gestibile dalla procedura di salvataggio di CF. quanto qui detto vale ovviamente anche per la mail, il cui template dovrai generarti a mano per gestire questi campi.
quell'articolo spiega una possibile tecnologia, ma l'esempio non va bene nel tuo caso...
ciao,
marco