Тут с автором я полностью согласен. Чаще всего DX8 встраивается в программу в виде запчасти, т.е. как компонент и ATL для этого очень подходит, а чистый WinAPI производит удручающее впечатления, т.к. мозг уже привык работать с объектами, а запутанные вызовы разнесенных в разные места функций, вообще ставят в тупик ;-)