Dennis Sosnoski has a good article Schema for Web Services - Part I: Basic Datatypes up at InfoQ. It looks like being a series, and Dennis knows his stuff. It is about some gotchas with data binding.
I wonder whether we can really completely avoid mismatches? XSD has a wide range of numeric datatypes, which were adopted so that all the primitive types in various programming and database languages had direct equivalents. However, it then creates a potential problem when a particular target does not support a type that XSD provides.
In ISO DSDL's case, the mooted DTLL langage (Data Type Library Language), provides system of explicit mappings from the type to a set of primitives: in some cases that would be helpful, but I am not sure that even DTLL addresses the problem that Dennis identifies. There are many parts of XSD which don't play well for use in automated data binding systems, but I suspect many of Dennis' gotchas in this article are just intrinsic to exchange rather than being flaws in XSD datatypes, necessarily.