Debería mostrarse correctamente. Si está intentando obtener el campo en PHP, por ejemplo, no aparece como birthdate , sino como está escrito:DATE_FORMAT(birthdate,'%m-%d-%Y') . Probablemente por eso no está en $row['birthdate'] sino en $row["DATE_FORMAT(birthdate,'%m-%d-%Y')"] , en todo caso.
Para obtenerlo como birthdate , use un alias para el campo con as palabra clave:
SELECT DATE_FORMAT(birthdate,'%m-%d-%Y') as birthdate, name FROM persons ORDER BY name DESC
Ahora se encuentra en $row['birthdate'] .
Una forma más flexible es seleccionar la fecha sin procesar (preferiblemente en formato UNIX_TIMESTAMP) y formatear la fecha en su lenguaje de programación. En PHP, podría hacer algo como esto:
$query = "SELECT UNIX_TIMESTAMP(birthdate) as birthdate, name FROM persons ORDER BY name DESC";
$resource = mysql_query($query);
while($row = mysql_fetch_assoc($resource)) {
echo date('m-d-Y', $row['birthdate'])." ".$row['name']."<br />";
}