It is a good system that is taken advantage of by bad people.
The best solution is diminishing probability of rolling a high number on need the more you use it.
That means that if everyone rolls "need" the same number of times (for instance, 0) then the probability of getting something on "need" is 1/n where n is the number of choose need.
However, the more you use need, the lower your rolls will be likely to be, so if you use need more than others in the group and something everyone really wants (say a EDC) is rolled on, your chances of winning the roll will be lower than everyone else.
It is not a perfect solution but it does put in a penalty for those who need everything and I suggest Cryptic implement it.