Hängt davon ab, welche Version Sie verwenden, aber ich hatte das gleiche Problem und ->distinct() hat bei mir funktioniert.
Doctrine_Query::create()
->select('rec.city')->distinct()
->from('Records rec')
->where("rec.state = '$state'")
->execute();