Ponga sus valores de fecha entre comillas simples, ya que son cadenas literales, de lo contrario MySQL no puede decir que es una fecha y no el número (2011 MENOS 1 MENOS 1 =2009).
Tampoco necesita los moldes DATE() a su alrededor.
SELECT
*
FROM
shortleavedetails
WHERE
employee_code = '17'
AND
(DATE(authorizeddate) <= '2011-01-01'
AND
DATE(authorizeddate) >= '2010-05-01')