For people who don't want to read a lot of waffling text, here are the two things I think MS needs to do for XNA:
1. Introduce quality control for XBLIG (make it more like an app store/hub)
2. Add native code support for WinPhone7
The placement of XBLIG in the new 360 dashboard has caused a bit of a controversy (http://gamasutra.com/view/news/31298/XBLIG_Developers_Troubled_Over_Xbox_360_Dashboard_Update.php). It is debateable whether or not this will cause any lasting harm to XBLIG.
There are those who think that the new location will actually increase sales, but we won't really know until sales data for this month becomes available. What this has done though is show the amount of resentment in the XBLIG camp towards the treatment they have received from MS.
I have been a casual XNA developer for a while now; meaning that I dabble, but fairly aimlessly and with no intention of releasing anything. I am firmly in the hobbyist camp of XNA developers, which comprises IMO by far the majority of XNA developers.
When XNA was originally launched it seemed like MS would make a push for it to be adopted by professional developers. This never really happened though. There are some exceptions, but as a whole XNA is not seen as a viable platform for professional development.
The fundamental reason for this is that XNA forces developers to use C# and .Net, so it requires a substantial tech investment, as most devs can't reuse ANY of their legacy code.
I've written before about the benefits of high-level languages in game development, and .Net/CLR in particular (http://gamasutra.com/blogs/ChrisHowe/20090808/2701/An_Argument_For_Mono_In_Games.php). Although I'm a fan of C#, the CLR and .Net, it is important to give developers a migration path that allows them to transition gradually.
This requires the ability to mix .Net and native code, similar to the way that the NDK allows developers to mix C++ and Java on the Android platform. This reduces the tech investment, and therefore the cost and the risk, of jumping onto a new platform.
This difficulty in attracting "serious" developers means that XNA has become synonymous with XBLIG. If XBLIG was associated with high-quality indie games this might not be an issue. Instead most gamers have a highly negative perception of XBLIG. MS *needs* to enforce quality controls on this channel.
I don't just mean providing means of filtering the games (Top Downloads, Top Sellers and the like). When your top downloads list includes a farting game and two massage games something is wrong. Part of the problem is that XBLIG has an identity crisis.
Is it a purely hobbyist channel? Create games and share them with your friends! Or do they actually want it to be seen as a legitimate gaming channel? It was only after the launch of XBLIG that the success of other e-distribution indie platforms (hello App Store), showed without a doubt how successful such a channel could be.
But is it okay to enforce quality controls on a channel that people pay to be a part of? If you pay to be on the channel then you should be able to release your game right?
The quality control issue is only part of the XNA dysfunction though. It seems like MS is so intent on pushing XNA as a platform for winphone that it has (inadvertently?) pushed XBLIG to the sidelines.
It is sad when people can't even find the XDK (http://gamedev.stackexchange.com/questions/4958/how-do-i-get-xna-game-studio-4-0) because it is buried in the winphone SDK. The XNA creators club has become the App Hub. XBLIG developers are now very aware that they are second class citizens in the XNA world.
If XNA succeeds on WinPhone7 then maybe the increased exposure will help XBLIG. But without native code support there is no way that WinPhone7 will attract enough developers to compete against Android and iOS. And if XNA fails on WinPhone7 will it take XBLIG with it?