Son of a gun. My reputation is now 666, mark of the beast.
I'd seriously re-consider using Direct3D11 instead of 9. Functionality aside, it's a lot cleaner and more organized API. I don't know whether or not you're also using D3D9 for the fixed function also, but at this point the programmable pipeline is no longer just "wave of the future" - its the present! . That usually seems to be the big selling point for sticking with D3D9, the fixed function piepline...but I think it hurts more than it helps in the long run because you're not working with something considered current. Shaders aren't really that scary ;). I don't know if it applies to you, it's just me saying.
Gj! I will catch up to you eventually .
I am using shaders. I have 342 KiB of shader code currently in use to render my scenes. While I am still struggling with some basics (http://www.gamedev.net/topic/645950-dhpoware-demos-normal-mapping-unexpected-result/), I am using a pretty advanced render profile, that combines blinn-phong with spherical harmonics and ambient normal-mapping to achieve a normal mapping effect in the absence of light, where the total contribution of diffuse lighting from all light sources is zero (n dot l = 0). I don't know if the method has a name, because I started with simple and buggy blinn-phong a few months ago and kept adding to it and refining it.
As for DirectX 11, I don't like the idea. I couldn't care less about the API because I only need it to load shaders, send buffers to the GPU and create render targets. This is negligible to the thousands of line of code in the engine that are DirectX agnostic. So I would get very little advantage from DirectX 11.
But a ton of disadvantages. As a one man team trying to write a top quality engine and eventually sell a game, I feel like I need to deliver more and better than a respectable and established developer with a publisher. My engine should run well on all hardware and operating systems. Otherwise, the effort in developing a new engine is not worth it. I could have started with Unity or something and develop my game from there.
DirectX 11 limits you to in version of Windows you can use. I want to run on Windows XP. I am also avoiding newer developments in GPU technology and only using pixel shader 3 without vertex texture lookup and have fallback version with pixel shader 2.
The only thing i am really missing in DirectX 9 is alpha to coverage. I might get it to work in DirectX9, but not in XNA.
And another problem with Direct11 is tessellation. I have brick walls. Brick walls look great with tessellation. Thus if I go with DirectX 11, I need to learn tessellation an implement a tessellation scheme that works great with forward rendering and multiple point light support.
And then there is the Microsoft problem. Back in the day there was a big hate for Microsoft in certain circles of the Internet (the M$ phenomenon). But back then I never had a problem with them. They created in general really great software.
But lately, with Windows 8, their treatment of .NET, C++/CX and the Xbone have left me wary of Microsoft. I would be really surprised if DirectX 12 will come out under an operating system that I would like to use and from a company who has made decisions leading up to that release that I can respect.