In case this happens to be useful to others in their workflow to try and minimize the non-deterministic reordering that happens with some unordered lists in DOMDocument.xml every time you save a .xfl, I have created an XSL transform that will canonicalize an input DOMDocument.xml into an output version that sorts the <fonts> and <persistedData> sections based on their name attributes, producing a consistent deterministic order of child elements:
https://dl.dropboxusercontent.com/u/83837/CanonicalizeDOMDocument.xsl
So if your team/or yourself wanted to hit the DOMDocument.xml with this transform before each commit to your version control, you should be able to minimize the unnecessary changes that happen in the <fonts> and <persistedData> sections.
If anyone knows of any other non-deterministic sections of the DOMDocument.xml that could use a fix like this, let me know and I can update the transform (or you can update the .xsl above and share as it is very short and straightforward to extend)
You can use any flavor of XSL/XSLT tool you want with the above .xsl.
If you are on OS X there is a builtin 'xsltproc' commandline tool you can use in Terminal on the command line with a call like:
xsltproc -o DOMDocument-new.xml CanonicalizeDOMDocument.xsl DOMDocument.xml
If you use a text editor that lets you setup custom Text Filters like BBEdit, you can set up a .sh filter with the contents of the following two lines:
#!/bin/sh
xsltproc CanonicalizeDOMDocument.xsl -