Hi Thierry,
You have asked some great questions. The schema editor in InfoPath was called CME (Content Model Editor) during V1 and SP1. The CME is limited in the kinds of schema it can edit. If you create a schema from within InfoPath it is marked as a CME schema. If you import a schema it is labeled as non-CME. Because CME can't edit everything it preserves the original imported schema. This is very important when you have a schema that you need to support from an external application. That is why CME refuses to edit those schemas in the same way as internally created schemas (which are by definition, CME compliant). This is explained in our book.
To edit an external schema, make sure it is extensible by adding xsd:any nodes at the bottom of sequences in the schema. A good example of external schemas that *are* editable in the CME are the schemas that ship in the Samples. These were all developed outside of CME but they are also extensible so you can add elements. When you add an element, CME creates a separate xsd file and imports the original. CME has limitations like my: namespace and not supporting references.
For web service derived schemas, they are fixed because if InfoPath allowed you to change them, they would not be valid for the web service and hence break the functionality. You'll need another layer of abstraction. Use an xsl internally (via code or merge forms functionality) to allow for an added mapping.
I hope this terse answer helps ...
Patrick Halstead [InfoPath MVP]
InfoPathDev
Patrick Halstead
Project Manager at Qdabra