Well, the main question has been answered.
As for the other two, the numbered ones:
|1. Is the method I mentioned worthwhile to follow up on?|
Double buffering is probably one of the best things in graphics.
Its only major downside is the increased memory usage.
But the flickernessiness does pay back, especially for a layered (transparent) window.
|2. Is there a better/faster way to buffer a screen?|
Probably using hardware acceleration (So, avoiding to use GDI).
Sadly, using HW-acceleration makes things lot harder for the programmer (It may also become a slow thing if the target PC is old and does not support hardware acceleration), and forces you to learn DirectX, Direct2D or OpenGL.
Also, Direct2D is only supported since Windows Vista SP2.
In some cases, even GDI itself may be hardware accelerated.
But I do not know if it's something you can "turn on and off".