If someone has a good experience they may tell 1 person. If someone has a bad experience they will tell 10 people. I believe in always doing what is right. I think integrity, honesty, and professionalism is critical in running a business. If anyone I am working with do not share those values then I'm not interested in doing business with them.
But everyone has been put in a tight situation, or a situation that is bad. I've been a sub-contractor who was not able to talk to the end client before. (There was a middle man) And in some cases it doesn't feel right or you think it would be better if you could just go direct.
If this is the case see if you can work it out somehow still without burning any bridges. Be up front with the middle man and tell them that you aren't able to do your job as well as you want to because you don't have direct access. That you would gladly still pay him a commission on income from that client even to just get out of your way. So it's a win for the middle man (he has to do nothing now) and it's a win for you - you get to go direct and build a better relationship directly with the client.
The client will most likely be happier too, because if you are frustrated or feel it's not working out they are probably seeing flaws in working with the middle man as well.
Are future earnings just based on reputation
No, they are not. 50% of our new business comes from referrals. The other 50% come from search engines, or people who have seen our products or work. Of the later set they may call some of our previous clients but most do not. Unfortunately, I know people who are dishonest or bad business folk and still run lucrative businesses. Even when majority of their clients are dis-satisfied.
I would encourage you to always do what's right. Even if it is not the most lucrative, or in your best interest. Ultimately you will be more successful, feel better about your self and it feels good not having to be regretful for anything.