This is a real peculiarity. Still, I think it belongs to the "bugs" category.
My brother has a QC e-shop with a database of 3000+ products. These products are generated into the system via a custom php script.
The problem is that whenever he erases the database and uploads the products again (he does this every week to refresh the database because of new products), the product numbers in the QC system are always different for the products. Like one week the product on a certain link is a notebook and on another week the same link displays a different product, like a webcam or something else.
The solution could be to generate a special entry for every product in the database, where a hash of product name and price would be generated. This hash would be carried into the e-shop link for the product for that week. Once the e-shop finds out that the hash of the link doesn't correspond to the product that is to be displayed, then text "incorrect or outdated link" would be displayed.
Any other suggestions? I don't want to compare the two humongous databases for every product, although that may be the only other way around it.
I found a rather elegant solution via a plugin and javascript. Basically the user using an "old" link pointing to a product that was there in the previous db update gets warned via a javascript alert popup.
It works by adding a "&upd=xxx" to every [product or category] link that is generated. The xxx is the current update number. This number changes after every update. Links from the most recent update work ok. If the update number in the link is anything else than the current e-shop based update number (that means the link is old and may show other product than inteded before), then the qc shows the js alert, but still displays the link.
If anyone is REALLY interested, I can post code, but it is a rather simple solution.