It may be emotionally hard to cut your losses, but it may be economically sound.
There's a concept in economics called "sunk costs". You can't recover your investment, so whatever your choice, the money's gone. The only choice you have at this point is: do you continue or do you stop?
Since it looks like you have to pay more for continuing (and maybe even more after that) you should contrast that to the costs of starting over. It may be better to stop and try again if that's cheaper. It feels terrible, but it can be the best choice.
You must consider the opportunity cost as well - imagine yourself three months from now. You could be three months away from this mess, well towards making your $2000 back (or better), well into a new project or the same thing with a new developer and an improved contract.
Or, you could still be arguing with this guy over code you don't have, a product he hasn't finished, and a price that's still rising (it's not going to go down), and even at best you wont trust the program or have anyone to maintain it.
Yes, many of us have felt this way. Be smart, draw a line under this and start again with a new coder. In a years time you'll look back and be glad you did. In an alternate universe you won't and it will make you miserable.
There's a concept in economics called "sunk costs". You can't recover your investment, so whatever your choice, the money's gone. The only choice you have at this point is: do you continue or do you stop?
Since it looks like you have to pay more for continuing (and maybe even more after that) you should contrast that to the costs of starting over. It may be better to stop and try again if that's cheaper. It feels terrible, but it can be the best choice.