After a little more investigation,
Cascade delete of the main process and related executions and subprocesses is passing if there are no related records in JBPM4_VARIABLES, i.e. if the process doesn't use process instance variables. Don't see how I can not have process instance variables in my case.