Al ejecutar una función de trigger antes de operaciones DELETE no debe olvidarse el retorno de la función.
RETURN NULL hace que se salte la ejecución de la operación por lo que no se realizará el borrado de los registros. De modo que si queremos que efectivamente se realice la operación DELETE el retorno debe ser algo diferente de NULL.
RETURN NEW funciona del mismo modo que RETURN NULL puesto que para las operaciones DELETE estas dos sentencias son equivalentes.
RETURN OLD es una forma de permitir que se ejecute la operación de forma normal, aunque cualquier otro valor debe funcionar, sin embargo esta es la forma más aceptada.