Have you thought about just making a "child" form that is set to being "transparent"? If they have AERO being used, then use that... If NOT, then you fight with your custom roll-out version of transparency. (Also keeping in mind that some people ALSO have "transparency effects" disabled too.)

If AERO and "transparency effects" are disabled for forms... Then you need a third option for displaying a capture area. A simple "preview window", which the user sets the "area", with a custom sizable form, is fine. You can make custom masked forms which have "holes" in them, so they are just a border. (That gives them the ability to move and resize it, if you leave a chunk in the center with something that can register a mouse-down, and mouse-move event, like a picturebox or just the raw form.)

I disable form transparency, because, honestly, it is a waste of processing power in the OS. There is no need to see through a form, 99.99% of the time. Can't even think of a time when I wanted to "see through a form", which just makes that program harder to see. It was as dumb as windows making animations for opening and closing windows. Purely a novelty of, "We did it, because we could", not because anyone needed it. (Once they hijacked DX for the OS itself, to replace most of the GDI stuff, all this nonsense began.)

Yes, I get that this is that 0.01% situation where it might be useful, but there are other viable alternatives. Don't go crazy looking for an impossible solution, to which there is none.

The best possible, potential, solution... Would be to monitor EVERY displayed window, and track the windows positions, or try to hook some kind of callback to each window, to "know" when they have changed position or size. (Might seem virus-like doing the later.) Then, only once, you update the "blurred image", by hiding your program, getting a snapshot of that RECT where your program was, then use that as the new "blurry image". It's just one flicker, instead of many.

When you want your program to do complex stuff, you have to program complex solutions. All the simple stuff has already been done and those things have simple solutions. (Like using AERO features, for those who use it.)

Don't rule-out the simple, obvious, solution of a second child-form. Either as an attached body to the parent, moving with the form, or as a tiny "thumbnail" preview that can be moved out of the way or hidden, when it isn't needed. Think of Win-Amp, and the custom form shapes and "attached" child-forms to a parent.