For a HUD you can CopyRect() your HUD images directly to the back buffer prior to page flipping to achieve a simiar effect as in DX7 with direct draw. Or, you can display the HUD as a billboard with z=0 (or whatever).
You don't want to be doing that. Drawing any significant # of pixels onscreen should always be done through textured primitives. There's simply no need to use DirectDraw in FS2, even (especially) with DX8.
The real benefit of DX8 will come with T&L. These days, with GF2+ class cards, and the ease-of-use of DX8, T&L has finally become a viable (smart, even!) option. Even with the limited messing around I've done with it here and there, its clear that a real T&L implementation is going to blow away the current software based T&L that the current FS2 code does (FS2 just uses D3D as a rasterizer and nothing more, which is pretty old fashioned).
Seems to me the smartest thing to do is take every POF, and turn them into giant triangle stripified objects, broken down by subobject and texture. The NVidia tri-stripper does a decent job of stripping polygon soup objects. Although its real benefit is being able to spit out one giant triangle strip for any arbitrary set of input polygons. Hence, a single call to DrawIndexedPrimitive() accomplishes a _lot_ of work, and offloads it all to the video card (I refuse to use the term GPU).
What the heck, I have code for this at home. I may just give it a shot.