Je hebt geen probleem met de "laatste twee".
Je hebt echter wel een probleem met ze allemaal, maar het ene punt na het andere.
Letterlijke datums zijn afhankelijk van de cultuur van uw systeem
Uw datums worden geïnterpreteerd als MM-DD-YYYY. Deze interpretatie is afhankelijk van de cultuur van uw systeem. De eerste drie veranderen in verkeerde dates, maar werken. De 4e breekt en de vijfde wordt nooit uitgevoerd (vanwege de fout ervoor).
De eigenlijke fout ligt dus op regel 4.
Wanneer je met datums te maken hebt, gebruik dan cultuuronafhankelijke formaten. Het is beter om een van de volgende te gebruiken-
universeel formaat
20150730 (=> the 30th of July in 2015)
ODBC-formaat
{d'2015-07-30'} or {t'23:30:59'} or {ts'2015-07-30 23:30:59'}
ISO 8601
'2015-07-30T00:00:00'