Historically the XDS indexing used rather arbitrary criteria for the selection of the "best" solution - I was however prompted today to look at making this a little more robust, and leaning on the tools available in cctbx. Now the indexing is done in P1 as always and the P1 cell passed to iotbx.lattice_symmetry (see http://journals.iucr.org/a/issues/2004/01/00/sh5006/sh5006.pdf for more details) and only the solutions proposed from this analysis are considered from indexing.
Currently the behaviour is as before if you specify the symmetry on the command line. If however you do not it is less likely to try and process the data with too high a symmetry and generally make a mess of things. I will welcome any feedback on how effective this is.