Delfino, tienes que conectarme más a menudo a los foros ehhh

jejeje
Realmente no sé como hice las pruebas, quizás tenía creado el campo pero no definida la clave ajena, no sé. Lo cierto es que realmente funciona como dices, así que tendré que eliminar los 7 triggers que había creado y las 7 exceptions...y vuelta a organizar las cosas.
En principio al intentar borrar la clave ajena aparece el nombre de la restricción en la excepción, así que lo capturaré en el OnException del ApplicationsEvents, para mostrar un texto más descriptivo.
Muchas gracias por la info, me sonaba raro que no existiese.
Saludos