I know the title of this post is a little tongue in cheek but actually who cares?
Just to put this in context in SL3, Microsoft have added support for binary encoding of soap messages for communication between Silverlight 3 applications and WCF Services.
Binary encoding means that the server can process messages faster, meaning higher throughput and the ability to handle more clients than the SL2 text encoding for SOAP.
The downside that the binary encoding is a proprietary Microsoft format (not MTOM), infact its the same one used by NetTCPBinding.
Since performance doesn't seem to be worse than text encoding in any situation, Microsoft have made this the default encoding for building Silverlight enabled WCF Services.
Does it matter if the default encoding is not interoperable? No, because you can always set it back to a text encoding if you need interoperability.
Also, Silverlight by default does not encourage interoperability. To allow other browser clients to connect to your webservice you need to set you cross domain policy file. By default cross domain browser clients are shut out.
Finally if you are building a truly public interoperable api, you probably wouldn't make it SOAP based anyways, you would be likely to build a REST api
Good Move Microsoft, Binary Encoding Rocks!