Actually TrueVision and XNA are not of the same class, you can't compare them directly. XNA is more like an API provider for your graphic card, comparable to Managed DirectX.
If you're looking to write a Direct3D based game from "scratch"(to ahve control over every aspect), you can look into XNA or SlimDX. XNA has some restriction over the existing DirectX, which is that you must use shader to do most of your effect(alpha blending, multitexturing, bump mapping), where as the original DirectX would allow either shader and or FFP(fix function pileline). You can't go far with FFP, but for simple effect, it's more than enough. With so much Direct3D sample you can find online, it's harder to learn if you need to convert every one of them into XNA. XNA do have a good community, but nothing compare to DirectX's. SlimDX is a managed wrapper for DirectX, allowing you to use DirectX without learning C++. Thus with a little bit of conversion, you can easily get those sample online working in no time. I'm currently using SlimDX for a production project.
As for Game Engine, which does most of the basic job for you behind the scene, there's plenty to choose from. It's hard to make a decision here. I would suggest you to look at Ogre3D and it's .Net wrapper MOgre3d. Actually I was considering MOgre3d before jumping to SlimDX, but I scrapped the idea later due to the fact that support for video playback is weak in Ogre3d.