Comparte un mismo evento OnExit de cada control y no dejes salir si el campo está vacío. Para saber qué control es, moldea el Sender al TEdit y listo.
Algo así (escrito de memoria)
TEdit *e=dynamic_cast<TEdit *>(sender);
if(e->Text->IsEmpty())
{
Application->MessageBox(...)
Abort();
}
Lo de abort() no lo tengo tan claro, pero si no es esa llamada es el otro parámetro que recibes que impedirá salir o simplemente vuelves a ponerle el foco al e->SetFocus();
Escribo de memoria y no tengo el C++ Builder a mano, así que las llamadas podrían no ser la correctas, pero te haces a la idea.