I've gone back and forth on this issue as well, and have adopted a few simple rules. My day job is at a gun store and when people find out that I make gear (which is information that I never volunteer) I get inundated with custom requests.
Most of the time people come to me with half witted ideas of "awesome gear" and promises of "this design will make you a bunch of money", and 90% of the time these end up being laughable. I actually adopted my first rule out of this issue.
Rule 1, If I think your idea will get you killed if/when you need to use it I'm not building it.
Sometimes the idea might literally get them killed, but usually my reason for declining is that the whole idea is just rubbish and no matter how well made they will perceive that rubbish as some wrongdoing or poor design work on my part.
Rule 2, Unless I sign a release I maintain 100% of the design rights. This is in line with what mogensbeck had to say. If I'm working out this design for you it's because I think it is actually viable (refer to rule 1) that means I want to add it to my portfolio of designs and am absorbing the cost of development into that consideration.
Rule 3, I generally don't do multiple prototypes, and you agree on the price before scissors are ever taken to material. This one is hard for people. I'm not trying to come off as condescending here, it's just I do an enormous amount of conceptual development and sketching of designs before actually making something. Very rarely do I get into a project and realize that I should have done something differently. This would probably be different if it were something like a complex PC system or similar, but in custom work it's usually simpler than that.