Cuando tuve el problema exacto, no pude consultar ignorando el caso. Terminé copiando el valor que quería buscar normalizándolo. En este caso, puede crear una nueva propiedad y convertirla a minúsculas y tener un índice sobre eso.
EDITAR:
DBObject ref = new BasicDBObject();
ref.put("myfield", Pattern.compile(".*myValue.*" , Pattern.CASE_INSENSITIVE));
DBCursor cur = coll.find(ref);
Me pregunto si eso funciona.