Если вы используете поддерживаемый формат даты, SQL Server неявно преобразует строку в DATETIME:
SELECT CONVERT(varchar, EventDate, 101) AS EVENTDATE,
CONVERT(varchar, ClosedDate, 101) AS CLOSEDDATED,
DATEDIFF(Day,EventDate,ClosedDate) AS DiffDate,
FROM mytable
WHERE EventDate BETWEEN '2010-04-01' AND '2010-04-30'
Ваш запрос просто сравнивает строки, которые не имеют отношения к диапазонам дат.