Nos velhos tempos :oops: criavamos um flag manipulado pelo sistema com, por exemplo, as seguintes alternativas: N, I, E - onde N=Normal, I=iniciado Processo de Exclusão e E=Exclusão completada
Evidentemente, o sistema, como um todo, só enxergava os registros com status=N ou I - sendo que o I significava uma exclusão inconclusa, logo, ao deparar com um registro assim, o sistema “acabava o serviço”. Primeiro marca o pai com I e vai marcando os filhos. Depois começa a mudança para E, à partir dos filhos - deixando o pai por último. :idea:
:idea: Usando esse conceito, a exclusão em cascata pode ser executada apenas para os registros com status=E. 
Isto resolveria o problema da caixa - mas seria uma surpresa MUIIIITO desagradável para mim descobrir que os BD modernos não fazem isso automaticamente. 