Hi Karl,
I'm not sure about all that other stuff you are doing and how it affects things, but you might try adding one or both of these settings in your user.config file:
<add key="ResolveFullUrlsForMenuItemProtocolDifferences" value="false" />
<add key="UseSslFoSiteMap" value="true" />
I know there is a typo in that second setting but that is the actual setting, I apparently made a typo when I created it. If that setting does help, then add it to your user.config and also add the correct spelling version because I will fix this for the next release.
Maybe one or both of those settings will solve it, if not I'm not sure what to tell you. Note that changes to user.config are not automatically detected so you have to touch web.config after that to make it reload settings.
Hope it helps,
Joe