It's the customers ISP which is caching an older page, or the customer’s browser not getting the updated "date.js" file (because of browser caching) which alwaysgets updated to force any new pages to update.
You can add information to the .htaccess file to disable cachingcompletely which will fix this problem completely;
If you add the code provided below to your .htaccess file then no files willbe cached at all.
Using the recommendation below won’t eliminate all situations where the oldprice is used, e.g. if the products have already been added to the basket, orthe customer doesn’t refresh the current page before adding to the basket.
Anyway, adding a FilesMatch around the header directive will help withthe site loading times. I think it would be better because it says to apply therule only on *_.js and *.html files. The *_.js files are the encrypted pricesjs files. So images will still be cached. Here's the code you need to add inyour .htaccess file:
The Files Match makes the Header directive only apply on html files and the pricesjs files.
The situations where it said will still use the old prices are unavoidableunless the customer refreshes the page that they are on before adding to the basket (and completely unavoidable once the products are in the basket).