Ваша проблема в том, что IIS 5/6 плохо работает с маршрутами без расширений, домашняя страница разрешается, потому что она указывает на default.aspx,
В двух словах, сделайте это:
Если расширение * .mvc не зарегистрировано на хостинге, оно выдаст 404 исключения. Рабочий способ размещения приложений MVC в этом случае заключается в изменении вызова маршрутизации global.asax следующим образом.
routes.Add(new Route("{controller}.mvc.aspx/{action}",
new MvcRouteHandler())
{ Defaults = new RouteValueDictionary (new{ controller = "YourController"} ) });
Таким образом, все ваши запросы контроллера будут в * .mvc.aspx, который распознается вашим хостингом. А поскольку dll MVC копируются в локальную корзину, для этого не требуется никаких специальных расчетов.
См. Этот вопрос для много полезной информации:
ASP.NET MVC и IIS 5