Thanks Stan for the great post,
One thing I found with SSIS and XML is it is relatively easy to deal with the simple xml but very hard when working on the complex xml. We have resolved to SQLXMLBulkLoad and hand coded the link between XML element/attributes in the XSD.
Since I don't know much about XSL, not sure how good the XSL transformation is with the complex XML.
My definition of the complex XML: has multiple parent-child hierarchies, one example is xml containing company, customer, transaction and statement data.
Have you used your solution on the complex xml in the past?