Así me funciona a mí (no me da error):
Código PHP:
$_pagi_sql = "SELECT idFallos, faExpediente, faParrafo, faContenido, DATE_FORMAT(faFecha, '%d-%m-%Y') AS faFecha FROM tb_fallos WHERE 1 = 1";
if (($_SESSION['buscardesde'] != "") && ($_SESSION['buscarhasta'] != "") && ($_SESSION['buscarexpediente'] == "") && ($_SESSION['buscarvoz'] == ""))
{
//cuando todos los campos estan vacios excepto FECHA DESDE Y FECHA HASTA
$_pagi_sql = $_pagi_sql." and faFecha > '".mysql_real_escape_string($_SESSION['buscardesde'])."' and faFecha < '".mysql_real_escape_string($_SESSION['buscarhasta'])."'";
}
Si quitas las condiciones, verás cómo la sentencia SQL imprime las fechas como dd-mm-YYYY. Otra cosa es que esto te valga después para la comparación, no sé si SQL va a seguir detectando que eso es una fecha o te lo va a comparar como cadena de texto.
Un saludo y espero que te sirva.