There are a lot of ways to save stages while a document is open ("saving stages" itself is an option). As was suggested earlier, make major saves and reorganizations at various stages. It's not out of the question to duplicate the file with the same name and number it x_file_1.psd, x_file_2.psd, etc. I have done this. Then even after you close, you may not have the history palette but you have the work in its simplest form at every major point. Another thing which helps me is to make very descriptive layers so I know what is hidden in a layer, ie: a filter applied.
I use smart objects so the filters and other changes are non-destructive. Adobe has given us a lot of options and smart objects are one of the best new tools for saving history states so to speak. I work non-destructively whenever possible, using layer adjustments rather than just applying an adjustment directly to a layer/object. When I am satisfied with an object I've been working on, rather than merge the layers, I copy-merge them, turn off the originals and group them, then move them out of the way.
That would be a point to decide if it's time to duplicate the file or not. Once duplicated, get rid of all excess layers and memory consuming effects. I would have absolutely no use for 4 hours of history on some of my works. There might be 100 steps on one mask alone painting in and painting out. The only time I have ever really wished I could go back was when I decreased an image size, forgot to reverse that, and closed the document. Now how would Adobe know I hadn't meant to do that? I'll tell you how. They can't know. But if most of the layers are smart objects, you've lost very little more than some time. Finally, when you're satisfied that it's done, you have the option of deleting all your stage 1,2, 3 files. IOr not.
So my advice is to take your most time-consuming layers and make them smart objects so you can work smart, not hard.