Stan:
Great diagram and clear thinking.
What we need is for someone to volunteer to document that these callbacks should be included in packages, and how to do so. The notes tutorial is the obvious place.
I think this is a bug in notifications. It seems to me that notifications should be on delete cascade, because yes, notifications currently do have to be deleted. And if the object a notification is based on is deleted, the notification should be deleted as well.
Can you file this as a bug on notifications?