• isn't this a little easier??

    CREATE Function GetMonthEnd(@Date DateTime)

    Returns DateTime

    AS

    RETURN dateadd(d,(day(@date)) * -1,@date)

    END