Wahrscheinlich denk' ich in eine völlig verkehrte Richtung oder bin einfach schlecht informiert ;).
Vllt. hilft dir ja so 'ne Art allgemeines Rekursionschema in Pseudocode:
function delete ()
{
while (this has sub)
delete (sub);
delete this;
return;
}
Hab gerade gesehen das du selbst schon eins im andern Strang gemacht hast - das sollte so funktionieren.