XNA + Live : No idea. It's been in beta for a month or so, and the final 2.0 version just came out today, but I haven't tried the online functionality since it's only available (unless I am mistaken) to Creators Club members (100$ USD per year I think). Since I've concentrated on PC development before porting to XBox, I haven't bought that yet.
Compatibility : From what I've seen, it's very easy to make a Windows XNA game compatible to Xbox, unless you use specific stuff like geometry instancing. Then again, the XNA team has released a dozen of samples both in Xbox and Win versions, so it's not like you're on your own. And the official forums are very active and resourceful.
Comparison : TV3D is uh... a 3D engine/game-oriented graphics SDK, I don't even know how to call it anymore, but in any case it's more of an abstraction to DirectX than XNA is. XNA is really a Managed code wrapper for DirectX9, with very complete yet very low-level classes.
One thing I love with XNA is that the Vector/Matrix classes and the such have EVERYTHING that DirectX offer, but available to all the intuitive C# language constructs. All operators are overloaded, most functions are instance- and static-scope, all the equivalent of TVGlobals functions are avaiable directly on an instance... Very neat object-oriented design.
You can also make a "render a blank screen" app in almost the same amount of codelines as in TV3D. Probably a dozen more, but it's negligible. Most of the base code has been made for you (and properly!) in the Game assembly, so you just plug your game onto that base and extend what you want to extend. Thus you start with a very clean "mainloop" (actually Update/Draw methods) and an excellent game component framework to separate your code. I think that XNA encourages good design by the way it's made. So in that respect, it's more of a game engine than TV3D is.
But TV3D allows you to do amazing things like generate a quadtree-culled landscape with splatting and everything in like 10 lines. If you're looking to make a landscape in XNA, then you have to create it, or borrow it from a kind programmer in the community...
Also, everything is shader-driven in XNA. There is no fixed-function pipeline. XNA comes with two "effects" built-in, per-vertex lighting and per-pixel. It's basic, but it works for most people... if you want to go beyond that, then get ready to learn HLSL. It's necessary, but it's the way of the future, and I'm glad they made that decision.
As an example, there is no Camera class in XNA. But built-in effects take a View matrix which you can construct with methods in the Matrix class. But to make things proper, you should probably make a Camera game component which fits your needs and, in the end, resembles the interface of TVCamera. That's at least a couple of days of work, then a week to debug... has to be taken into account!
So all in all, if you've worked with OpenGL or DirectX directly before and can appreciate the difficulty of having to write everything yourself, then you know what to expect from working with XNA. But you have also access to C# which is a beautiful language, the .NET framework which is fantastic, and a lot of managed facilities on top of DirectX that make everything more intuitive.
If you've only worked with engines/frameworks like TV3D, get ready to get your hands dirty with vertices, polygons, matrices and quaternions... But you'll find that having that much control over your application is pretty damn sweet!
lets get awesome!
For enjoy. Pleasure also find many hats!