Поставете вашите стойности за дата в единични кавички, тъй като те са буквални низове, в противен случай MySQL не може да разбере, че това е дата, а не число (2011 МИНУС 1 МИНУС 1 =2009).
Не се нуждаете и от кастингите DATE() около тях.
SELECT
*
FROM
shortleavedetails
WHERE
employee_code = '17'
AND
(DATE(authorizeddate) <= '2011-01-01'
AND
DATE(authorizeddate) >= '2010-05-01')