If you wanted to implement delegate chaining, you could type your methods as returning void and accumulate the return values in a ref parameter.
One thing you need to remember is that the order of invocation is not guaranteed by Microsoft and can be changed in future version of .net i.e. the internal implementation can be changed.
Oahd: yep. I should have included that.
Duncan: yep, I can, but that was not my point. my point was that if someone wanted to, this could not be avoided by the class designer.