A expressão há dez anos, sem o advérbio atrás, é a forma mais correta. A expressão há dez anos atrás, embora redundante, é a mais utilizada pelos falantes.
Na expressão há dez anos atrás há uma repetição de ideias desnecessária para a transmissão do conteúdo da frase, uma vez que o verbo haver, quando conjugado como verbo impessoal, já indica tempo decorrido. Assim, é desnecessária a utilização do advérbio atrás para indicar o passado.
Formas preferenciais:
Formas desaconselhadas:
Embora a expressão com o advérbio atrás seja condenada por diversos gramáticos, por ser considerada um pleonasmo vicioso, é aceita por outros gramáticos que defendem que a expressão já está ficando consagrada pelo uso.
Pode-se considerar então que o advérbio atrás é usado como uma partícula de reforço justificada por um possível enfraquecimento do sentido do verbo haver indicando que o tempo está no passado ou para facilitar a compreensão da expressão falada, visto a pronúncia da forma verbal há ser facilmente confundida com outras palavras.
A expressão há dez anos atrás não é só usada na linguagem falada, mas também na linguagem escrita, inclusivamente por vários escritores de renome em obras de literatura consagradas.
Nota: Estando a língua portuguesa em constante alteração, evolução e atualização e sendo muito defendido atualmente que o uso faz a regra e não o contrário, é provável que, num futuro próximo, mais gramáticos comecem a considerar consagrada pelo uso a expressão há dez anos atrás.