Hola _CALI.
Funciona de forma segura siempre y cuando tengas sólo un par de MDIChilds abiertos. Pero puede no ser así si hay más pares de forms abiertos.
Supongamos que tenemos abiertos dos pares de forms creados en este órden: FSender, FReceiver.
Creamos cuatro:
1:FSender1
2:FReceiver1
3:FSender2
4:FReceiver2
El form activo es ahora FReceiver2.
Si en esta instancia haces click en el TButton del form FSender1, le enviará el mensaje a FReceiver2 y no es el comportamiento que buscas.
Por otro lado si haces click en el TButton del form FSender2, FReceiver2 recibe el mensaje; pero FReceiver1 no recibirá ningun mensaje hasta que adquiera el foco ( sea el form activo ).
Para que este efecto no se produzca es necesario hacer click sobre cada form FReceiverN (hacerlo activo) para luego enviar el mensaje.
Ahora, si es condición necesaria que el form receptor este activo para que pueda recibir un mensaje, funciona.
Espero haberme explicado bien...
Saludos.