How do I get all the menu items below a certain parent?
I am using this function in my code for D7 to do this exact thing. Your code looks like it should work, but it is slightly different than what I have. Honestly I haven't visited this part of my code in a while. Hope this helps.

/**
* Returns an array of all menu items under a parent.
* @param string $title Menu item title.
* @param string $menu Menu name.
* @return array
*/
function MODULE_submenu_tree_all_data($title, $menu = 'main-menu') {
  $tree = menu_tree_all_data($menu);
  foreach ($tree as $branch) {
    if ($branch['link']['title'] == $title) {
      return $branch['below'];
    }
  }
  return array();
}