I have had similar problems with the number
attribute in get_pages()
I got around it by using get_children:
$pages = get_children(array(
'numberposts' =>1,
'post_parent' => $heading_page->post_id
));
and using post_parent
instead of child_of
.