Это сообщение об ошибке указывает на то, что значение, хранящееся в varchar, не может быть преобразовано (с помощью SQL) в datetime. Вам нужно будет детализировать свои данные и найти проблемные строки, что может быть непросто. Начните с чего-то вроде:
SELECT StartDate, isdate(StartDate)
from MyTable
where StartDate is not null
and isdate(StartDate) = 0
... и то же самое для EndDate. Вам придется поиграть с этим, так как преобразование строки в дату может стать хитрым быстро. (Излишне говорить, что было бы гораздо лучше хранить значения даты и времени в качестве значений даты и времени. Если вы можете изменить структуру таблицы, сделайте это!)