For me, that's plain stupidity. As you say, your company is small and $4,000 is a lot of money. You didn't mention if it's for a bigger project so I'll assume it's for fairly similar one.
You show appreciation for someone by coming back to them rather than paying more for same service. It's one of the most important rules of business.
When you'll approach him for twice as big project, he'll expect $12,000 and a little more instead of $8,000 he deserves and with which he thinks he's paid enough. People tend to get comfortable too quick when giving them things they didn't ask for.
I'd advise a slightly different approach. Keep coming back to him and keep an honest relationship. If he isn't happy with something (attitude, finance aspect, terms or anything else), let him know you're open to discuss anything.
But that are just my two cents and if it's working for you, why not? I know it wouldn't work with me and my team.