A guitar (or bass guitar) string vibrates between (usually) two node points with one being the bridge saddle and the other being either the nut or a fret. The shape of the string as it vibrates is a big, long, flattish oval, with the ends of the oval obviously at the node points. Anything that falls within the oval area in which the string vibrates will cause a buzz or rattle. To remedy this, you can:
1. Find a high fret or frets and bring it (them) level with the other frets. Sometimes a fret is loose and sitting up out of its slot, and needs to be glued down. This can be tricky to detect. You mentioned that you get buzz all the way up the neck, so I think we can rule this one out for the most part.
2. Loosen the truss rod to allow the neck more relief, creating a larger space for the string to vibrate. This will have the effect of raising the action, at least over the adjustable portion of the neck.
3. Raise the bridge saddles to allow the string more room to vibrate. This of course raises the action.
4. Decrease the size of the oval in which the string vibrates, by installing lighter gauge strings, or flatwounds, or semi-flats. Roundwound strings are the most likely to rattle. You can accomplish this same end by playing lighter.
When I set up a Bass for a customer, in the absence of specific instruction otherwise, I set the action so that the instrument plays with little to no buzz when played "normally". The strings will of course begin to rattle when the player starts digging in. If a customer wants no buzz whatsoever, up comes the action. If a customer wants a very low action, he's likely going to have to put up with some buzz. I consider buzz that can't be heard through the amp to be a non-issue. If my customer was complaining about strings buzzing, I would ask him if he usually plays with his tone full up, and if not, if he likes a slightly mellower sound, perhaps a set of semi-flats would help. Of course, the customer always has the last word.
I should mention that the whole reason I started working on guitars for people is the result of a "setup" that I paid for, which was significantly worse than the setup that I had already done on my old five-string. I figured, why should I pay someone to screw up my guitar- I can do that for free.
