The problem is with the Cairo-Dock (Gnome + Effects) session.
Here are the contents of the corresponding desktop session file (/usr/share/xsessions/cairo-dock.desktop):
And the contents of the session file that is called with the gnome-session command (/usr/share/gnome-session/sessions/cairo-dock.session):
Name=Cairo-Dock (Gnome + Effects)
Comment=This session logs you into GNOME with Cairo-Dock and with graphical effects.
Comparing this with ubuntu.session, I notice that there the line is
instead. (Apparently, calling compiz as the panel provider is supposed to call unity?) Could this possibly have something to do with the fact that compiz is being called as a window manager, even in the C-D session? Or perhaps the line about unity_support_test shouldn't be there?