In playing with TPrintPreview, I've gotten lots of range check exceptions while doing things like scrolling with the mouse wheel. I noticed that the code has no explicit compiler directives in it so as an experiment, I added {$Q-R-} to the top and recompiled and all of the errors I was seeing went away (since I disabled the checks) and I saw no issues caused by this.
I always have my default compiler directives set to their most rigorous settings and I'm wondering if TPrintPreview was only intended to be compiled with range and overflow checking off?
If that's the case, then perhaps you could add those directives to the source? If not, there are some problems with the mouse wheel handling that need to be addressed.
Thanks, be seeing you.