Man, jetzt hab ichs.
$this->db->select("DATE_FORMAT(beginn, '%d.%m.%Y') AS fbeginn")
wird durch den aktiven Schutz zu einem
DATE_FORMAT(beginn, `'$d`.`$m`.`$Y'`)`
und damit zu einem falschen Statement.
Den Schutz kann man deaktivieren. Die Select-Methode hat dazu einen zweiten Parameter:
$this->db->select("DATE_FORMAT(beginn, '%d.%m.%Y') AS fbeginn", FALSE)
Thats it 🙂