How to delete children when main entity is deleted?
You could use rules  to react to an entity being deleted, then add a loop over the reference field and use entity delete for the current list item.

Currently on my phone so apoligies for the compact answer.