I totally agree with you! the code is definitely more readable. I think the object initalizer (e.g. var o = new MyObject(){ID=123};) was a step in the direction of named parameters.
however, it looks like named parameters will be shipped with .NET 4.0: http://geekswithblogs.net/michelotti/archive/2009/01/22/c-4....
I actually missed it lots of times. You can work around it by overloading the method, but that's boilerplate for a simple concept.
I also miss named arguments (in both Ruby and C#). When reading the code, when a method has more arguments than one I often forget what the arguments are or their positioning, and it is a lot more readable to specify the arguments by their names ...
Ruby doesn't support that. It only has syntactic sugar for the case in which the argument of the method is a hash, but then the method definition becomes less clear.