Mettez vos valeurs de date entre guillemets simples car ce sont des chaînes littérales, sinon MySQL ne peut pas dire qu'il s'agit d'une date et non du nombre (2011 MOINS 1 MOINS 1 =2009).
Vous n'avez pas non plus besoin des conversions DATE() autour d'eux.
SELECT
*
FROM
shortleavedetails
WHERE
employee_code = '17'
AND
(DATE(authorizeddate) <= '2011-01-01'
AND
DATE(authorizeddate) >= '2010-05-01')