Hidi Ho. Looking over forger's example, I figured it'd be easy to streamline by simply creating your own opacity map (mask, whichever you prefer to call it), then use SRCAND and SRCPAINT to merge them. Or, at least that's how I undstood the procedure. However, I can't seem to get tranparency to work; I've uploaded the code in a zip so perhaps someone would be kind enough to look it over and show me just what it is that I'm doing wrong.
Solved my problem, in case anyone was following my latest headache. Turns out that I can't use it (seems window docking is my only solution), but that's besides the point.