Я не знаю ни о каком событии BeforeDelete, но вы всегда можете переопределить метод Delete и обработать его там. Просто не забудьте поместить любые переопределенные методы в отдельный файл (классы SubSonic являются частичными), соглашение заключается в том, чтобы поместить этот файл в «измененную» папку и обработать ее там.