"yyyymmdd" es el más seguro, el formato básico ISO-8601. "yyyy-mm-dd" tiene problemas como se menciona en el siguiente enlace
Con tiempos:"aaaammdd hh:mm:ss"
SQL Server puede ser un poco extraño cuando se trata de fechas y horas. Se soluciona principalmente en SQL Server 2008 con los nuevos formatos de fecha y hora. El artículo definitivo de Tibor Karaszi
Editar:Y otro artículo de Tony Rogerson para los incrédulos