¡SOLUCIONADO!
Entonces, los métodos de SQLiteQueryBuilder que devuelven un Cursor no permiten el Boolean parámetro directamente.
Sin embargo, después de leer las notas de clase, noté el método setDistinct y lo aplicó a SQLiteQueryBuilder.
Ahora funciona y me da solo una entrada única para cada estado, justo lo que estaba tratando de hacer. Necesitaba eliminar las otras columnas y solo concentrarme en el estado, pero ese es otro problema/solución que no está relacionado con esta pregunta. Basta con decir que tuve que centrarme solo en el estado de la columna y aplicar setDistinct a esa columna solo para obtener el resultado deseado.
Aquí está el código completo:
public Cursor getData(){
SQLiteDatabase db = getReadableDatabase();
SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
String [] sqlSelect = {"0 _id", "state"};
String sqlTables = "Reefs";
qb.setTables(sqlTables);
qb.setDistinct(true);
Cursor c = qb.query(db, sqlSelect, null, null, null, null, null);
c.moveToFirst();
return c;
}