Judging by the comment upvotes, my comment might be strong enough to be an answer, so I am reposting it....
I'm not familiar enough with the technologies involved to assess the validity of the answers, but the 1st answer now deleted 10K only seems to be more of a commentary:
Another solution suggested by @MikeSW was to subclass Route class and then add custom "id" propagation logic in there:
ASP.NET MVC: The right way to propagate query parameter through all ActionLinks
What I don't like about this is that it feels like a hack of the frameworks internals. I hope there is an officially supported way of doing this.
I think it should be an edit to the question, just based on how it is worded (or edited to remove the discussion aspect).
The second answer at least looks like an answer, so it might be ok (if the content is good).
However, even give this, the structure of his responses just has a help forum feel where the OP continues to provide running updates on changes to the code in an effort to get more and different feedback (or maybe the feel of a whiteboard session where you are working out the problems with your team). Even if the answers are valid responses and work, they just don't have the feel of a true Q&A.