• 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

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass