Data stored in relational structures can be represented in many different hierarchies. It is much more difficult, if not impossible, to do with data stored in hierarchical structures. Granted, representing complex hierarchies is...well...complex, unless you store it that way. But in so doing you limit the data's usability for other purposes, and you loose the ability to declare any but the most rudimentary constraints on it.
Hierarchical data stored in relational structures is difficult to maintain and often has artificial limits imposed upon it by software developers because it can be extremely inefficient to retrieve, manipulate, etc. Not to say that it cannot be done, but not every problem is a nail... As for constraints, XML Schema provides a very strong typing system, and you can define a wide variety of constraints. It's not as complex a system of constraints as SQL, but then again it hasn't been around for 3 decades either. We can probably expect the power of XML to increase over time, as people begin to demand more power.
Hierarchical data management is a mess. Those who are smart would avoid it.
If you expect XML to be equivalent to, or think that it is a replacement for, relational DBMS then you'll definitely be in for a shock. I believe you already mentioned that you do have to deal with XML in various forms, and that you currently shred it and put it in the database in relational format. What's wrong with using SQL Server to do that?
I suppose there is a school of thought that sees the RDBMS as a glorified file cabinet whose only function in life is (or should be) to store relational data. Then there are those that see more potential in the modern RDBMS as a full-blown application development platform. Not that there's anything wrong with either view (in my opinion), but I do think it's a little limiting not to consider the full power of your RDBMS platform.