When you are using the SiteMapPath control page Urls with the querystrings, pages don't show the control. Because url can't be matched with url in your Web.Sitemap file.
To handle this situation, a little web.sitemap file trick is enough. Write the static part of your Url and define the dynamic querystring parameters at "reliantOn" attribute.
Sample Web.sitemap node definiton:
1 <siteMapNode url="~/a.aspx?p=add" title="ABC" reliantOn="Id" />
Happy codings…