Hi Clive, I am going to suggest (again) the package idxlayout. I am worried about weird interaction between packages as much as you, but I found out a good package is often safer that adding several lines of latex code in the preamble (as you found out). Here is what I use for the index in my latest book project, the options are self-explanatory:
\usepackage[indentunit=15 pt,% itemlayout=relhang,% justific=RaggedRight,% columnsep=27 pt, unbalanced=false, %%%% this line produces the balanced columns initsep=13pt plus 5pt minus 3pt]{idxlayout} Cheers, Stefano