And there's always Direct3D. Try mapping 2 triangles with the AVI, and then making another 2 triangles, mapping them with a 32-bit image (with an alpha-channel). This will give you any transparency you'd like. Use the Direct3D surface maker that comes with the SDK. This is the only way that I can see you can do it with reasonable speed.

Or you can go with directdraw, and hope that the alpha-channels work.