When I use the "site" parameter on Google, I often see links to my forum pages with the session ID (http://example.com/threads/1234-XYZ?s=123456789). (I don't really know why it is happening because I am using canonical tags.) Is there a way to remove the session ID without damaging any forum functionality?
I would suggest to use any good seo tool in order to manage links in your own way & then to submit updated sitemap on google.
to me vbseo is the best for this purpose, this will make your forum links simpler according to the settings you set, no more session ids, redirect*** etc will remain there, after completing url settings using vbseo you should generate sitemap using web-site-map.com or madsubmitter.com/sitemap-generator/ then submit your generated sitemap into google web master tools & all will go fine.