You can see XNA as a managed wrapper for DirectX 9. The limitation to DX9 probably comes from having to stay compatible to the XBox. Managed code may be somewhat less performant when compared to pedal-to-the metal C/C++ code, but otherwise everything is at your disposal. I see no reason why it should only be useful for simple games. At the moment I am working on a 3D game engine and a GUI with XNA and have up to now encountered no extraordinary performance problems.
Edit: This is an older screenshot from testing: GUI + animated 3D scene + particle effects.
Screenshot[
^]