Ответ 1
Эта проблема довольно хорошо освещена в этом (архивированном) сообщении блога: http://blogs.msdn.com/b/ericlippert/archive/2007/11/05/c-3-0-return-type-inference-does-not-work-on-member-groups.aspx
Вкратце, как я понимаю (если связь когда-либо исчезнет); это было сознательное дизайнерское решение в С# 3.0, поскольку было нецелесообразно выполнять вывод типа в группах методов (ваш второй пример).
Я думаю, довольно многим людям это не понравилось, поэтому проблема была решена для С# 4.0 (как и Visual Studio 2010);
"В С# 4.0 вывод возвращаемого типа работает с аргументами группы методов, когда группа методов может быть однозначно ассоциирована с полностью фиксированным набором типов аргументов, выведенным из делегата. Как только типы аргументов, связанные с группой методов, известны, тогда разрешение перегрузки может однозначно определить, какой метод в группе методов является тем, который связан с формальным параметром делегата, и затем мы можем сделать вывод возвращаемого типа от конкретного метода до типа возвращаемого делегата."