Ahora ha quedado claro como el agua.
Para crear la ventana, estas usando una variable temporal llamada child, pero después quieres hacer referencia a la ventana con frmChild que no ha sido inicializada, y además es la variable global que Borland sugiere.
Solución, usar siempre la variable global frmChild para hacer referencia a la ventana Child.
¿como saber si está creada o no? En
este mensaje lo dice.
PD: No tienes que usar .Show para mostrar un mdiChild, estos se muestran automáticamente después de crearlos.
Saludos