I don't know if this will help in your particular situation, but when I need to use the same URL more than once in the sitemap, I typically use a redirect... if you're familiar with UrlRewriter.NET, it's a great tool to use.
Take this sitemap excerpt for example:
<siteMapNode url="~" title="Home">
<siteMapNode url="~/about/default.aspx" title="About LC" description="">
<siteMapNode url="~/about/bookstore.aspx" title="Bookstore" />
</siteMapNode>
<siteMapNode url="~/alumni/default.aspx" title="Alumni">
<siteMapNode url="~/alumni/bookstore.aspx" title="Bookstore" />
</siteMapNode>
</siteMapNode>
This follows the rules the XmlSiteMapProvider applies regarding duplicate URL's in the same sitemap, but I implement the redirect in Web.config (example uses UrlRewriter.NET) like so:
<rewriter>
<redirect url="^~/[^/]+/bookstore.aspx$" to="~/bookstore/default.aspx" />
</rewriter>
With that configuration, all requests for pages named "bookstore.aspx" that are one level down in the directory structure are redirected to the same page.
This feels cleaner to me than appending a useless querystring on the URL.
One thing of note here... the SiteMapPath will be practically useless in that scenario because the actual URL won't be found in the sitemap at all. I typically don't use a SiteMapPath anyway, because unless you're utilizing AJAX, the "Back" button works just as well, and that's what 90% of your visitors are going to use in their navigation anyway.