GetThisPageName uses the current page (the SCRIPT_NAME ServerVariable to be excat) to generate the url. In the linked post it the urls still used .aspx pages so that wouldn't be an issue. If you are using the Morden MVC routes most .aspx pages should be redirecting to begin with also. So not entirely sure I follow the full context.
But I guess you could try to use Url.BuildProductLink instead. Which would look something like
http://@Request.Url.Host@Url.BuildProductLink(Convert.ToInt32(AppLogic.GetCurrentPageID()), null ,null) . Do keep in mind I haven't tested this fully and you may need a if statement check or tryparse for AppLogic.GetCurrentPageID being emtpy.
Also if you are getting this complex with meta tags I suggest adding a custom class. Since a class can be easier to deal with than having all code in a MVC view. That way you can hadle each page type.