...I'm of course also against multiple inheritance. (This may be a large part of *why* I am an Object Pascal user and fan.) Not that interfaces are necessarily the One True Way, either -- there are still other ways of conjoining multiple-ancestor functionality.
In OP, BTW, which interface-implementation function gets called in an object depends on which interface type the variable you're accessing the object through was declared as -- is that what you're saying C# does, too?
(So, C# *does* have multiple inheritance? I thought it only had single... Well, this proves it: Anders is over the hill; his latest work isn't as good as his greatest.)