Il codice precedente funzionerà con MS SqlServer 2008 ma questo codice non funzionerà con MS SqlServer 2012 o versioni successive. Ho riscontrato lo stesso problema e lo risolvo in questo modo.
DECLARE @today_start datetime
DECLARE @dail_time time
SELECT @today_start = convert(datetime, @dayStr,103) + CAST(@dail_time as DATETIME)