Hola. por lo poco que entiendo el argumento del create debe ser
el antecesor del objeto que se esta creando. Proba algo asi:
desde el form2
Código Delphi
[-]
form3:=Tform3.Create(self);
asi es como yo lo uso
o bien
Código Delphi
[-]
form3:=Tform3.Create(form2);
esto se me acaba de ocurrir.
Suerte.