Something else to consider is that oftentimes the reason that those pages have high hit rates is likely due to the fact that people who bought one of the old devices may actually be looking for that old information. This is especially true if you also have product manuals, warranty information or other documentation on your sales page.
Given this information, I would treat these situations as revisions. Make the most current (non hidden) revision the default but add the ability to look at past revisions within your site as well. On those pages display a message accross the top saying as much. This will make your site more than just a sales site. It will actually have content that may be hard to find elsewhere. Your client may not see the benefit of this technique right away but it will pay off in the form of increased traffic and customer retention (which is more valuable than finding new customers anyway).
Make your URLs all go to the default listing if the user uses a URL like site.com/products/?id=1 and only show other revisions if they also indicate a revision # as such: site.com/products/?id=1&r=3 . Aside from organising your data better, this has the added benefit of allowing you to put a permalink on the page which points to it's permanent location from day 1. This means that from day one search engines are going to be indexing these permanent locations correctly.
This allows you to further tweak the cache settings for each page better. Specifically, you may set the CACHE-CONTROL, ROBOTS, and EXPIRES META tags as well to optimize how search engines should deal with this. What's more is that this can all be made to work automatically when new a new revision is added (and made public).
My question is, what should I do with these product pages?
Perhaps, a standard revision system isn't exactly the correct paradigm by itself but I do believe the best answer to this problem is to find an efficient model to begin with; otherwise the management of all of this will quickly get out of hand. Maybe, a related products relationship would be a better way of managing this. In this case you could give a listing of possible replacements. I'd still implement a revision system as well for the cases where there is a (roughly) direct succession of upgrades; between the two you should easily be able to represent the relations of your products in a way that can save a lot of work.
The general idea of what I'm trying to get across is that just because you don't sell a product anymore shouldn't obsolete the page. The purpose of the page changes but not the value (which is what you've described). I would find a way to make the best of what's left by retaining everything but the
Add to Cart link and adding additional suggestions about where to find newer replacements. How you do that specifically isn't so important.
I'm wondering if this will hurt SEO though, to have links which cannot be found on the site be visitors?
This depends on how you are trying to optimize for. There is no one best answer for SEO; if there was then we wouldn't need to do it. It's more about what is best for your site which is why I've tried to help you along those lines.
By removing the links to your old pages from your site you are beginning what will be a slow phasing out of those pages. When you are ready to fully remove them; that is when it's time to start thinking about things like redirects and sitemap updates. Removing links to them alone will cause search engines to lower the rank of the page and, eventually, search engine will forget about them entirely. If your goal is a slow decline for the number of hits those pages get then this is not a horrible plan. If you'd like search engines to immediately return a better page from day one then update your sitemap and setup a redirect. Any combination in between can be done as well by doing both actions at the correct times.