A prefatory afterthought: you may think this question better asked on the LaTeX3 mailing list, but I believe there may be a more general interest in the rather Byzantine rules for package load order. I only mention LaTeX3 as, perhaps, the most obvious opportunity for fixing this.
This is a working MWE; swapping the marked lines makes it fail (options clash):
\documentclass[draft]{memoir}
\usepackage[final]{graphicx} % <== Swap this one
\usepackage{fontspec} % <== with this to break it
\usepackage[final]{microtype}
% =================================================
\begin{document}
% =================================================
\mainmatter
For that reason among others,
typography and typographers must honour
the variety and complexity of human language,
thought and identity, instead of
homogenizing or hiding it.
% =================================================
\end{document}
Obviously, somewhere in fontspec is loading graphicx (though I couldn't find where).
Although I am fairly happy to live with this kind of minor annoyance, it occurs to me that constraints on the order of loading packages could be one of the factors that might discourage potential TeX adopters.
Do the LaTeX3 team have any views on this? Might it be possible, for example, to suppress option clash checks when using RequirePackage as opposed to usepackage, or provide package writers with a generic means of suppression?
Or is this something that needs to be under the detailed scrutiny of each package writer?
expl3is loading graphics (and color) but I have not idea why. – Ulrike Fischer May 15 '12 at 12:00