Well dreaming is all well and good, but I'd like something that works now, even if it is hackish and/or not appropriate for continual use :-)
I looked into it by using WinMerge (as a diff tool) to compare an MLO-format XML export with another MLO-format XML export after an export to Mindmanager-format XML and then import of that into a new MLO database (I also had to manually move all the items from the "MLO" base node created by Mindmanager to the root node, and then delete the MLO base node). Details below, but the answer to my question seems to be "no, you can not round-trip without being sad".
So actually I'm going to try setting up having both MLO and Mindmanager sync to Outlook 2010; maybe that will maintain fidelity of the MLO database, as I believe MLO tracks the UUID of Outlook Task documents / doesn't try to save all the state in them but instead just correlates with MLO database items; so if Outlook items are moved, the MLO database should move them while maintaining the MLO-specific data. Or at least that's my current dream!
Below are my findings. I think Mindmanager supports arbitrary (in name, data, and number) extra fields for each item, so in theory these are I think all bugs that should be fixable. I'll go figure out the right way to do bug reports if none of the MLO developer(s) chime in here. I'm guessing there are more problems, esp. with Properties not being round-tripped; I certainly don't use every single feature of MLO.
1. "Created" changed on everything to date of mindmanager file save date / time. Same for "CompletionDateTime" and "i0".
2. <Note> Nodes get a newline in front of them. This does show up in the UI. In the UI there is a newline in the note field before the [note# XXX] where there wasn't one before. In the XML it moves from this:
<Note>[note #38640994]
To this:
<Note>
[note #38640994]
3. DueDateTime changes in a way I can't quickly figure out the logic of, e.g.:
<DueDateTime>2014-01-05T00:00:00</DueDateTime>
to:
<DueDateTime>2014-01-03T00:00:00</DueDateTime>
That's 2014-01-05 to 2014-01-03. Another example, 2013-10-02T17:33:53 to 2014-04-29T08:15:36
4. Lines like these disappear:
<Starred>-1</Starred>
<StarToggleDateTime>2014-04-26T22:35:01</StarToggleDateTime>
<HideInToDoThisTask>-1</HideInToDoThisTask>
<HideInToDo>-1</HideInToDo>
<LeadTime>0</LeadTime>
<ScheduleType>1</ScheduleType>
<LeadTime>0</LeadTime>
<ScheduleType>1</ScheduleType>
<Importance>200</Importance>
<Urgency>200</Urgency>
<TheGoal>1</TheGoal>
<LeadTime>0</LeadTime>
<Recurrence LOTS OF STUFF HERE />
<IsProject>-1</IsProject>
<ProjectStatus>2</ProjectStatus>
<Effort>0</Effort>
<IsProject>-1</IsProject>
<ProjectStatus>1</ProjectStatus>
(sometimes, not always) <StartDateTime>2012-04-24T00:00:00</StartDateTime>
<CompleteSubTasksInOrder>-1</CompleteSubTasksInOrder>
<i1>ENCPROJ=0</i1>
<i2>EPTOPLEV=0</i2>
<i3>EPPREFIXNOT=0</i3>
<Flag Caption="SOMETHING" [...]
5. New lines like these are inserted:
<EstimateMin>0.333333333</EstimateMin>
<EstimateMax>0.666666667</EstimateMax>
6. Most but not all of these disappear:
<TaskPlace Caption="SOMETHING"/>
7. Instance of thing like:
<Column ID="0" Pos="0" Width="494"/>
becomes:
<Column ID="0" Pos="0" Width="481"/>
8. This:
<UI DTmax="41728" DTmaxS="Today + 30" HideUndated="true">
became this:
<UI DTmaxS="Today + 30" HideUndated="true">
9. This:
<Column ID="0" Pos="0" Width="494"/>
<Column ID="4" Pos="4" Width="100"/>
<Column ID="7" Pos="7" Width="79"/>
<Column ID="27" Pos="27" Width="22"/>
</Columns>
<IcoData Caption="All tasks-24x24">LOTS OF CHARACTERS</IcoData>
</ToDoView>
<ToDoView Name="To Delete">
<UI ActionFlt="4" UseAdvFlt="true" UseHierarchy="true">
<HightlightFormat bold="1" inherit="0" options="0"/>
</UI>
<Group/>
<Sort Srt1="1" Srt2="1" Srt3="1" Srt4="1" Manual="false"/>
<AdvFlt>
<RootRule>
</RootRule>
</AdvFlt>
<AdvFltParent/>
<AdvFltChild/>
<Columns>
<Column ID="0" Pos="0" Width="494"/>
became this:
<Column ID="0" Pos="0" Width="510"/>