Powyższy kod będzie działał z MS SqlServer 2008, ale ten kod nie będzie działał z MS SqlServer 2012 lub nowszym. Spotkałem się z tym samym problemem i rozwiązałem go w ten sposób.
DECLARE @today_start datetime
DECLARE @dail_time time
SELECT @today_start = convert(datetime, @dayStr,103) + CAST(@dail_time as DATETIME)