Hola a todos,
Confirmo, que, en Firemonkey, ocurre lo que describes, mientras que, con la VCL, todo funciona como esperas.
Según esta información, puede tratarse de un "bug" en Firemonkey, o, tal vez, simplemente, no sea posible hacer algo así con Firemonkey. Yo investigaría sobre los eventos de los "TEdit" (precisamente, nuevos en Firemonkey)
"OnValidate" y
"OnValidating", aunque, he probado a hacer lo mismo (dar el foco, básicamente, al control que nos interesa) con estos eventos, y, tampoco parece funcionar.
La posible solución, como también comentan en el artículo que enlazo en el primer párrafo, pasa por usar un "botón" que se encargue de la validación de los datos. Partiendo del evento "Click" de dicho botón, ya sí, podrás dar el foco al "TEdit" que precises, sin problemas. Se menciona además en el artículo algo con lo que estoy de acuerdo: tal vez sea una buena idea usar este botón, y, no hacerlo como tú lo planteas. En todo caso, sí que podrían aprovecharse los eventos mencionados, para proporcionar "feedback" al usuario, a la vez que proporciona los datos de entrada, esto es, antes incluso del "Click" en el botón.