The hardest issue for me is the content pipeline, which is very necessary, but the workflow is fixed and it assumes the contents are only built before the program runs. The helper functions wrapping D3DX can only be used with types in the content pipeline. I have to utilize the full content pipeline just for generating something dynamically, of course with significant performance cost. Or I have to write those D3DX utilities my self. Currently I don't have a good idea on this.
The other annoying thing is about type names. When using XNA with WinForms, the Point, Rectangle, Color, etc. are all need to be fully qualified in many source files. Those clones in XNA are in the same namespace with other XNA types. I don't want to import those types but I have no way to avoid them. Another is about types in Microsoft.Xna.Framework.Game.dll. They're mixed with basic types in the Microsoft.Xna.Framework namespace. So if only one source file used any of those game types, that assembly has to be referenced, thus those type names are occupied and I have to avoid those names. Why not let them in their own Microsoft.Xna.Framework.Game namespace
Well, since it already released, it will mostly stay like this. Or maybe it's just "You cannot count on the first release of any software." That's all my rants.