I'm going to focus on this:
Ideally, eventually, I'd like my games to be playable on all major platforms (Windows, Linux, Mac + all consoles), but my primary focus is getting the games out the door on Windows XP, 7 and 8.
Generally OpenGL and DirectX are the two most supported graphics libraries. Of course XNA is built over DirectX, however it was not adopted to the expected extent. Now if you are being smart in your development, you should be able to isolate your graphics handling in such a way that by changing only a select few of your files, you can completely migrate from one graphics library to another.
I can't remember which Sims game it was, (Medieval i think), but the game was developed with DirectX for PC and Xbox, but then they replaced it with OpenGL for the Mac, Linux builds.
I recommend sticking to the more commonly accepted libraries, as to have the largest amount of support. XNA is greatly accepted here at gamedev, however OpenGL and DirectX are both supported as well, both here and at overflow.
I was making the same decision around a year or two ago and concluded I would head into OpenGL (OpenTK for C#) grounds rather than staying with XNA for the following reasons:
- OpenGL can be used on all platforms
- XNA (in my opinion) was messy, which is one of the reasons i think it hasn't been adopted to a large extent.
- A knowledge of OpenGL or DirectX is as good as you get. If you learn them, picking up XNA would be a piece of cake. The same cannot be said the other way round.
My final advice though, is to try it all out for yourself. Check out Reimers tutorials in XNA and DirectX (and just browse google for some OpenGL tuts), and work out which one you think would be better for your interests.