[`post_parent`][1] returns **only** the child pages of the page whose ID is given as the value. 

>**post_parent** (int) - use page id to return only child pages. Set to 0 to return only top-level entries

To get just a specific page, rather use `page_id` or `pagename` or `post__in` (in conjunction with `post_type=page`. 

I would suggest that you rather make use of [`get_pages`][2] which is specifically there to query pages. 

Just a note here, `wp_reset_query()` is used in conjunction with `query_posts`. You should use `wp_reset_postdata()` with `WP_Query`


-- 

Here the solution from the comments below:

Polylang creates a new custom parameter "lang". This parameter appears to default to "", which is supposed to return posts with [any][3] value. Instead it returns posts with the current page's language value only (hence only children of current page ID = 5). As a fix I now manually loop through the available values for "lang" to get pages with all values for "lang". I'll check with the plugin author if this is a bug or caused by my environment.


  [1]: http://codex.wordpress.org/Class_Reference/WP_Query#Post_.26_Page_Parameters
  [2]: http://codex.wordpress.org/Function_Reference/get_pages
  [3]: http://polylang.wordpress.com/documentation/documentation-for-developers/general/ "any"