Quite simply, both prop=pageprops and prop=info&inprop=displaytitle try to set "displaytitle" on the returned node: internal_api_error_MWException" info="Exception Caught: Internal error in ApiResult::setElement: Attempting to merge element 25970423
Pageprops should probably have been made to store its values in a subnode, like prop=categoryinfo and basically everything else does to prevent this sort of naming conflict. For example,
<page pageid="25970423" ns="0" title="IPad"> <pageprops defaultsort="Ipad" displaytitle="iPad" /> </page>
It's a really easy (but breaking) change to do that. I don't know what a good solution would be without introducing a breaking change, especially since it's possible similar conflicts could arise with other page props.