Ceci est déjà une date valide - format ISO-8601 - utilisez simplement :
SELECT CAST('20060508' AS DATETIME)
ou alternativement :
SELECT CONVERT(DATETIME, '20060508', 112)
et ça devrait bien faire !
Afin d'obtenir votre affichage "May 08, 2006", effectuez une autre conversion en varchar, en utilisant le style de conversion de date 107 :
SELECT CONVERT(VARCHAR(25), CAST('2006-05-08' AS DATETIME), 107)
Voir ici pour plus d'informations sur la diffusion et la conversion dans MS SQL