Bueno, es que eso no es un fallo de la sentencia, es fallo al usar sprintf() (
www.php.net/sprintf). Si quieres repetir los valores de un parametro, debes usar:
Código PHP:
$_pagi_sql = sprintf("SELECT Especie, Autor, Nombrecomún, Autorfoto1, Autorfoto2, Autorfoto3 FROM astur WHERE
Autorfoto1 = '%1\$s' OR Autorfoto2 = '%1\$s' OR Autorfoto3 = '%1\$s'
ORDER BY Especie ASC", $colname_Recordset1);
Saludos.