No lo entiendo. Algo se me escapa.
Si es "la copia de otro form", ¿por qué no copias el archivo .dfm y pas?
Sea de la manera que sea, yo entraría por parsear el código delphi y dfm (cargarlos en TStringLists) y a partir de ahí, generar el código fuente del Form resultado.
ejem... a ver si me explico:
Código Delphi
[-]
ts := TStringList.Create;
ts.Add('unit duplicada;');
ts.Add('');
ts.Add('uses Windows, Classes, ComCtrls ....');
ts.savetofile('c:\archivo.pas');
y después harías el .dfm también.
Saludos