Hi Simon,
Just for the record I've had it make a big difference a number of times as well with both refmac & shelx. I was under the impression that phenix.refine was "cleverly" allowing me to use that trick by just starring the add riding hydrogens in the def file however it seems not - something worth knowing!
if you mean hydrogens { refine = individual *riding .... } then this is just tells "how to refine hydrogen atoms if present" and not to actually "add and refine". There is no way to build the template of parameters dynamically based on current inputs. So there will always be a bunch of parameters in your automatically generated parameter file that do not actually apply to your particular refinement run. For example, if you do not have H atoms in input PDB file then the whole block of parameters hydrogens { .... } will not make any different in your refinement run regardless whatever you specify there. Sorry for confusion. Pavel.