Hodnoty data vložte do jednoduchých uvozovek, protože se jedná o doslovné řetězce, jinak MySQL nedokáže určit, že se jedná o datum a ne číslo (2011 MINUS 1 MINUS 1 =2009).
Nepotřebujete kolem nich ani přetypování DATE().
SELECT
*
FROM
shortleavedetails
WHERE
employee_code = '17'
AND
(DATE(authorizeddate) <= '2011-01-01'
AND
DATE(authorizeddate) >= '2010-05-01')