Thanks guys,
With the packing function, as far as I can work out, if you pack multiple instances of a sub-assy it doesn't pack the parts within it. Maybe there is a switch somewhere to toggle this on.
Using the 'name selection' works in some cases, I should have remembered that method because...