One more thing. Even with XML enabled, I notice that some error messages are still sent to stderr without XML tags (see below.) Any chance these could be sent to stdout wrapped in <stderr></stderr> tags?
$ mpirun -mca orte_show_resolved_nodenames 1 -xml -display-map -np 1 ./pop pop_in
<mpirun>
<map>
<host name="4pcnuggets" slots="1" max_slots="0">
<process rank="0"/>
</host>
</map>
--------------------------------------------------------------------------
MPI_ABORT was invoked on rank 0 in communicator MPI_COMM_WORLD
with errorcode 0.
NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes.
You may or may not see output from other processes, depending on
exactly when Open MPI kills them.
--------------------------------------------------------------------------
<stdout rank="0">------------------------------------------------------------------------
</stdout>
<stdout rank="0"> 
</stdout>
<stdout rank="0"> Parallel Ocean Program (POP) 
</stdout>
<stdout rank="0"> Version 2.0.1 Released 21 Jan 2004
</stdout>
<stdout rank="0"> 
</stdout>
<stdout rank="0">------------------------------------------------------------------------
</stdout>
<stdout rank="0">------------------------------------------------------------------------
</stdout>
<stdout rank="0"> 
</stdout>
<stdout rank="0">POP aborting...
</stdout>
<stdout rank="0"> Input nprocs not same as system request
</stdout>
<stdout rank="0"> 
</stdout>
<stdout rank="0">------------------------------------------------------------------------
</stdout>
--------------------------------------------------------------------------
mpirun has exited due to process rank 0 with PID 15201 on
node 4pcnuggets exiting without calling "finalize". This may
have caused other processes in the application to be
terminated by signals sent by mpirun (as reported here).
--------------------------------------------------------------------------