Firing page_publish where page is child page

The publish_page action is listed as deprecated.
You can use the ‘transition_post_status’ hook to check if a page was published.

function publish_page_interception( $new_status, $old_status, $post ) {
    if ( ($new_status != $old_status) && ($post->post_status == 'publish') && ($post->post_type == 'page') ) {
        if($post->post_parent > 0) {
            //do stuff
        }
    }
}
add_action( 'transition_post_status', 'publish_page_interception', 10, 3 );

Look here for further info:
http://codex.wordpress.org/Post_Status_Transitions

Happy Coding,

Kuchenundkakao