Yo lo decía por que hay un tema claro: Si el objeto (el formulario) no está creado no se puede acceder a sus propiedades.
Cuando creas el form con la instrucción
Código Delphi
[-]
with TfrmCrearClave.Create(nil) do
Estás creando un nuevo formulario, y hasta que no termine de crearse no se puede acceder a sus propiedades.
No es el caso de la línea
En este caso, la variable está apuntando a un objeto QUE YA HA SIDO CREADO, seguramente en el código del proyecto (archivo DPR), donde tendrás una línea más o menos como esta antes de llamar al método "Run":
Código Delphi
[-]
Application.CreateForm(TfrmCrearClave, frmCrearClave);
En este caso, el objeto ya existe y se puede acceder a todos sus métodos normalmente. Espero haberte aclarado este punto
Saludos