Thank you frankok. Works a treat in SharePoint 2007. I added this code after the ParseMenuStructure to make it work like the default MOSS menu:
RadMenuItem[] mArray = new RadMenuItem[this.Items[0].Items.Count];
this.Items[0].Items.CopyTo(mArray, 0);
this.Items[0].Items.Clear();
this.Items.AddRange(mArray);
And this is what is in my masterpage (I've not removed the items yet):
<EG:MOSSRadMenu id="mossRadMenu" runat="server"
Skin="blah"
AppendDataBoundItems="false"
NumLevels="3"
DataSourceId="siteMapDataSource1"
CollapseDelay="500"
EnableViewState="false"
EnableEmbeddedSkins="false">
<ExpandAnimation Type="InBack" Duration="200"></ExpandAnimation>
<CollapseAnimation Type="None" Duration="200"></CollapseAnimation>
<Items>
<tel:RadMenuItem Value="" Text="Home" NavigateUrl="/" runat="server"/>
</Items>
</Interserve:MOSSRadMenu>
<PublishingNavigation:PortalSiteMapDataSource ID="siteMapDataSource1" Runat="server"
SiteMapProvider="CombinedNavSiteMapProvider" EnableViewState="false"
StartFromCurrentNode="true" StartingNodeOffset="0" ShowStartingNode="true"
TreatStartingNodeAsCurrent="true" TrimNonCurrentTypes="Heading"/>
With the ShowStartingNode="true" and the above code change you get the navigation's site included at the start. The code block moves the child items from the level below up one level so you avoid the single menu item problem you'd get otherwise. Hope that is helpful, and would love to hear of any better ways to accomplish this if you know better.
Thanks again for sharing your solution.