It seems that when running the XSD.exe tool against a private assembly, the XSD.exe tool first looks int he Global Assembly Cache and if it finds an assembly with the same name, it generates a schema for it instead.
So, when generating XSD schemas off of a class library, be sure to remove like-named assemblies from the GAC.