It's defaulting to the American format, month/day/year, hence you're trying to convert the 3rd day of the 24th month, which doesn't exist.
Use unambiguous formats (preferred), or use CONVERT with a format code.declare @snapshotdate datetime='2016-03-24 00:00:00'
select isdate(@snapshotdate)
Gail Shaw
Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability