Такое поведение изначально заложено в движке OpenCart.
Поэтому сложно сказать, стоит менять поведение или нет. Если кому-то понадобится удалить дерево категорий, то будет совсем неудобно, когда при каждом удалении этот "змей горыныч" рассыпается на кучу родительских категорий.