Ho dato una sommaria lettura al codice e mi pare che sia impostato non troppo bene. Intanto richiami una tabella "referenti" che pare non esista e inoltre mi pare che tu voglia con ON DELETE e ON UPDATE modificare la tua stessa tabella.

Non puoi settare a NULL oppure aggiornare un ID chiave primaria di altra tabella. Oltretutto non avrebbe senso se nella cancellazione di un record in "eventi" venisse posto a NULL la chiave primaria della categoria stessa.

Caso mai e' che se modifichi o cancelli una categoria devono essere rimossi/modificati gli eventi associati.

L'azione che richiedi verrebbe esercitata sulla tabella di riferimento. Direi che la foreign key che hai messo in eventi debba essere invece considerata in categorieEventi.