It would be nice if "delete record" were an event for which Filemaker had a script trigger. Then we could simply define a script trigger to perform a script before the record is deleted with Exit Script [False] used as a way to cancel the delete record action.
But since you don't have that option, you'll need to set up a script for deleting the parent record and use one interface design option or another to make the standard delete record action unavailable to the user.
The delete record step can use this If step:
If [ Not IsEmpty ( ChildTableOccurrence::ParentID ) ]
as a test to detect the presence of child records.
Ways to make the standard Delete Record unavailable:
With Filemaker Advanced, you can use a custom menu set that removes Delete Record from the records menu for this layout. Or you can put your delete records script in place as the action that takes place when delete records is selected or when it's keyboard short cut is pressed.
WIthout FileMakder Advanced, you can use Record Level Access control settings in the user's privilege set to either prohibit deleting records or to only permit deleting records when there are no child records for the record that is being deleted.
See "Editing record access privileges" in FileMaker Help and check out this particular sub section: "Entering a formula for limiting access on a record-by-record basis" for a description of how to set this up.