Es una caso atípico, hay que decir.
Bueno, no tengas prisas, piensa bien el diseño, antes de meterte de lleno, porque tal vez luego se torne poco práctico.
Yo tendría en cuenta: Cuantos tipos diferentes de "formularios" va a diseñar el usuario. No es lo mismo si hablamos de 6 o 7, que si estamos hablando del orden de 50.
El tema de recnstruir todo el interface del regitro puede ser muy lento. Haz unas pruebas primero. Una opción (SI HAY POCOS TIPOS DIFERENTES) sería crear un único "formulario" con los diferentes tipos uno en cada capa (estoy pensando en un PageControl con diferentes pestañas o un TNoteBook); La ventaja es que lo crearía al principio y luego dependiendo del tipo de registro, sólo deberías cambiar de pestaña (cosa que sería bastante rápida).
¿Me explico? Esto se convierte en poco viable si tienes muchos tipos diferentes, pero si hay 4 o 5 puede ser una solución muy "ágil".
En cuanto al diseño, junto con los ejemplos del componente que comentas hay una demo de lo que podría ser un
"FormDesigner"; No está completo, pero te puede servir de guía para ver cómo se crean diferentes tipo de controles. Hay puedes ver cómo crearlos y redimensionarlos en ejecución.
Para almacernarlos en Base de Datos, tal vez la opción de utilizar Streams sea la más práctica (y más rápida); Revisa
LoadComponent y
WriteComponent de la clase
TStream.