Your array is called child, so you need to call array delete on this before actually deleting the node.
void Tree::DestroyTree(node*& root)
{
if(root)
{
for(int i = 0; i < CHILD_LIMIT; i++)
DestroyTree(root->child[i]);
delete [] root->child;
delete root;
root = NULL;
}
}