Sim, mas com algumas ressalvas:
É totalmente suportado pela Microsoft e tem uma comunidade em crescimento - mas, sendo mais novo que seu concorrente mais próximo, o nHibernate, ainda não tem uma comunidade tão madura.
Além de ter uma comunidade menos madura, haverá momentos em que um recurso está disponível no EF4, mas pouco documentado; ou EF4 lançará exceções com as quais o Google não pode ajudá-lo.
Ele possui todos os recursos quando usado como a Microsoft pretende, mas, na minha experiência, pode ser bastante difícil adaptar a um sistema existente. Idealmente, você o usará em um cenário greenfield com uma pilha 100% da Microsoft. Certamente é flexível o suficiente para se misturar com outros sistemas, mas isso aumenta substancialmente a dificuldade.
No entanto, para reiterar o ponto principal, ele é completo e estável o suficiente para uso na produção.
Uma coisa importante a ser destacada, que parece óbvia, mas geralmente é negligenciada até causar dor, é que um ORM trabalha para mapear do paradigma relacional para o paradigma OO. Se um desses níveis não seguir as regras de seu respectivo paradigma, você se sentirá mais magoado.
Isso pode acontecer nos dois sentidos - se você conhece bem o paradigma relacional / baseado em conjuntos de SQL e OOP, o ORM permitirá que os dois se misturem como manteiga. Se o seu banco de dados parece que ele quer ser OO e o código OO parece que ele quer ser baseado em registros, então YMMV.