Você não pode fazer isso usando apenas recursos em cascata, tanto quanto eu posso pensar.
Uma solução limpa seria criar um ouvinte que se inscreve no
preRemove
eventos.Você pode verificar quando uma categoria é excluída e encontrar todos os artigos dessa categoria que não tenham outras categorias e removê-los também.