Así me genera un error cuando el formulario no ha sido creado aún... la primera línea evalúa si el formulario está creado... cuando no está creado devuelve siempre nil y si lo coloco como parametro del CreateForm me genera un error.
Quité el cast, dejando solo el string como parametro y es más estable que antes... ya el error se presenta muy pocas veces.
Código Delphi
[-]Application.CreateForm(TComponentClass(ClassName), FormName);