Update: I've modified the query to return all the elements for only the most recent order. This query is a little awkward, since your source XML doesn't group elements by order.
<result>
{
for $cust in distinct-values(doc("Orders.xml")//Orders/Customer_x0020_ID)
return
<Customer>
{
let $date :=
(
for $cid in doc("Orders.xml")//Orders/Customer_x0020_ID[. eq $cust]
let $date := $cid/following-sibling::Order_x0020_Date[1]
order by xs:dateTime($date) descending
return $date
)[1]
return
(
$date/preceding-sibling::Order_x0020_ID[1],
$date/preceding-sibling::Customer_x0020_ID[1],
$date/preceding-sibling::Employee_x0020_ID[1],
$date
)
}
</Customer>
}
</result>