OK well my only remaining GUESS is that there is something up with your GEL script xmlns setup, or the way you are wrapping the constructed 'xogReadProject' into the soap message.
(Bit hard to guess though )
--
The below works OK for me running from a CMD promt (session id copied in from an active session).
<gel:script
xmlns:core="jelly:core"
xmlns:gel="jelly:com.niku.union.gel.GELTagLibrary"
xmlns:util="jelly:util"
xmlns:xog="http://www.niku.com/xog"
xmlns:sql="jelly:sql"
xmlns:soap="jelly:com.niku.union.gel.SOAPTagLibrary"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
>
<gel:parse var="xogReadProject">
<NikuDataBus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/nikuxog_project.xsd">
<Header version="13.0" action="read" objectType="project" externalSource="NIKU">
<args name="include_tasks" value="false"/>
<args name="include_dependencies" value="false"/>
<args name="include_subprojects" value="false"/>
<args name="include_resources" value="false"/>
<args name="include_baselines" value="false"/>
<args name="include_allocations" value="false"/>
<args name="include_estimates" value="false"/>
<args name="include_actuals" value="false"/>
<args name="include_custom" value="false"/>
</Header>
<Query>
<Filter name="projectID" criteria="EQUALS">DMTEMP</Filter>
</Query>
</NikuDataBus>
</gel:parse>
<soap:invoke endpoint="internal" var="runresult">
<soap:message>
<soapenv:Envelope>
<soapenv:Header>
<xog:Auth>
<xog:SessionID>5340853__7BE3F9B1-6B62-4B8C-A23D-166B83B5AEA0</xog:SessionID>
</xog:Auth>
</soapenv:Header>
<soapenv:Body>
<gel:include select="$xogReadProject"/>
</soapenv:Body>
</soapenv:Envelope>
</soap:message>
</soap:invoke>
<gel:out> <gel:expr select="$runresult"/> </gel:out>
</gel:script>