È meglio usare il tipo di colonna DATETIME per queste cose. Quindi dovrebbe funzionare:usa str_to_date() funzione. Inoltre, scambia i valori BETWEEN.
WHERE dm.dl_time BETWEEN str_to_date('2011-05-06','%Y-%m-%d') AND str_to_date('2011-05-31','%Y-%m-%d')