Post Fetching Ignoring Sort_Column?

I’m not sure why you use the sort_column parameter, it’s not supported by the WP_Query() class. According to the Codex, the correct way to sort, is to use the order and orderby parameters.

Please try this:

    $args = array(
        'post_type'      => 'page',
        'orderby'        => 'menu_order',
        'order'          => 'ASC',        // DESC is the default order
        'post_status'    => 'publish',
        'posts_per_page' => -1,
        'post_parent'    => $post->ID,
    );
    $query = new WP_Query( $args );