Recently, I ran into an interesting situation
the client caller of a WCF service method had adjusted his proxy class and for some reason the order of two parameters were switched.
So let's say I have a method with a boolean parameter and an integer parameter as in X(bool b, int i)
In this case the proxy was changed to X(int i, bool b)

Now this is where it gets interesting. There is no error whatsoever on execution of the method. When debugging, the method was entered and executed without any trouble. But the boolean did get it's default value false, even when sending a true.
But the amazing thing was that the int parameter retained value, instead of a default 0, what I would expect.

Conclusion: never underestimate the power of order of parameters

Any WCF experts willing to clear some things up on this matter, don't hesitate to mail me :)