See the difference here. cat=all is passed as that is the cat that is set when searching based on the search parameters of the timeframe. Now if a cat variable exists the construct_ppurl function passes the variables it is how it works.
1. Cat="all" is only passed for the text link in the search results page. The thumbnail link uses a specific catid. Why two different URLs to the same prodcut from the same results page?
2. None of the product pages appear to capitalize on any variable other than the product ID which is necessary to display the product page. If they aren't needed, they're being passed superflously and causing the problem with different URLs for the same product. I understand there may be times it is necessary, but the showproduct.php script doesn't appear to need anything more than product ID to work. Why pass it? It just adds variables to a URL and gives cause for the issue with "duplicate content"?