No tienes problema con los "últimos dos".
Sin embargo, tienes un problema con todos ellos, pero un punto tras otro.
Las fechas literales dependen de la cultura de su sistema
Sus fechas se interpretan como MM-DD-AAAA. Esta interpretación depende de la cultura de su sistema. Los tres primeros se están convirtiendo en fechas equivocadas pero funcionan. El cuarto se rompe y el quinto nunca se ejecuta (debido al error anterior).
Entonces, el error real se encuentra en la línea 4.
Siempre que trate con fechas, use formatos independientes de la cultura. Es mejor usar cualquiera de los siguientes-
formato universal
20150730 (=> the 30th of July in 2015)
Formato ODBC
{d'2015-07-30'} or {t'23:30:59'} or {ts'2015-07-30 23:30:59'}
ISO 8601
'2015-07-30T00:00:00'