Stretch Blt for open GL?

I have a software problem that involves viewing a single image in different resolutions (zoom levels).

I inherited the software and now must maintain it and I am trying to overcome a blending problem. When I do not zoom and stay at the same level using white at any alpha blends correctly. However when I zoom the software utilizes stretchBlt to render the higher level view so that the part I zoom into is stretched and the device context is probably a different one to the original parent. Then I draw here and blending with white works fine on anything new I draw, but any of the stretchBlt’d stuff does not get blended. How do I get the StretchBlt’d stuff into the frame buffer so that blending works? Whats the process?

I think I should be doing glReadPixels into memory, for each level, then doing a proprietery zoom to generate each layer correctly. If this is correct how do I do the zoom in memory or do I bother, I need a StretchBlt for DIBSections to rend on openGL! Anyone got one?