What you're saying is redundant. XNA is an interface to DirectX, therefore you're saying "Should I use DirectX or DirectX?". Personally, I would make it in a cross-platform language such as C or C++ and use OpenGL, but I highly doubt you're up to that stage.
If you want an engine (Trust me, you won't be able to write your own) take a look over at http://irrlicht.sf.net/.
Yes, but from the way it looks he barely knows how to code a simple application. I've had a fair share of time using XNA, so I know what it's like to use, and it looks like he needs a bit more experience yet.
XNA is actually intended for use with C#, but because it is an "addon" to Visual Studio, the references can be added to the other languages in the .Net platform. C# is alright for game development, but C++ or Python are probably better choices.