En lugar de
Código Delphi
[-]
Controles_Estado(true, Frm_Clientes);
yo pondría
Código Delphi
[-]
Controles_Estado(true, Self);
Una cosa es que el objeto ya esté creado y otra que la variable (Frm_Clientes en este caso) ya tenga asignada la referencia a dicho objeto.
No sé si realmente ésta sea la causa del problema, pero sí te comento que los métdos de una clase (TFrm_Clientes) no deben hacer referencias a instancias particulares (Frm_Clientes).
En tu caso, desde el método TFrm_Clientes.FormShow estás tratando de acceder
al objeto que se está mostrando, y éste no tiene, en general, porqué coincidir con la variable por defecto que Delphi (uno de sus malos hábitos) crea por defecto.
// Saludos