• Why not try this -

    SELECT @MONTHSTDATE = DATEADD(MONTH,DATEDIFF(MONTH,0,@STARTDATE),0)

    instead of a long winded convert.