MIL PERDONES.
Me equivoqué en lo más básico: cambié un AND por un OR, y ese era el fallo.
Código:
if (not BCancelar.Focused) and (not BNContratoAutomatico.Focused) then
Ahora si funciona para todos los botones que haga falta.
Gracias Hector por la respuesta tan útil.