This is where it goes a bit over my head as a programer, which I'm not, but we would need to dive into the code a bit. I'm not sure I can be of help with details, but from what I'm understanding is as follows.
I understand that if a product is in stock, it shows the page, if the product is not in stock, rather than that pages information changing to say it is no longer in stock, you get redirected to or the page changes to a new page that simply says it can't find what you are looking for.
If I'm right, you need to change the code so when a product is not found or no longer in stock, instead of pointing to this dead page returning zero, or instead of just having that page deleted (in turn being 404), have the page change content or redirect to another page saying it is no longer in stock.
I'm not sure I'm clear here, but what I'm saying is, have it direct to a page you created yourself that says you are temporarily out of stock, rather than the program automatically generating a 404 page.
I hope this helps send you in the right direction, otherwise I'm no programer so can't give you exact instructions, but maybe someone who knows e-commerce programming can help here.