tips to get contractor to refund overpayment?

I renovated my coop apartment -- was supposed to take 4 weeks, max of 6 weeks according to the contractor for mostly kitchen/bath and some main room things -- began in mid-January of '08 (yes, like 18 months ago) -- instead, of course took much longer (and some custom cabinetry was made 3" too high as the contractor misread his measurements so relayed them wrong to the cabinet guy -- and tried to blame me when they had to be re-done) and then the dribs and drabs of repairs of things they did trickled out for nearly a year after it began (a studio apartment) until last November.

That was horrid, but not the current issue at hand: when it looked like there was a day or two left of work (maybe three months in?!), the contractor asked for the nearl final payment -- said we'd settle up on the little items owed (by me presumably) after they were completely finished. I wrote the check, thinking it was nearly complete and that it would just about pay off the total owed. Afterwards, I went through the receipts for what I purchased -- for items that had purchase allowances in the contracts (the original contract and then one for additional items), but I had ordered some items instead of the contractors supplying as was written in the contract and of course bought more expensive than the allowance for the items (vanity, refrigerator, toilet, etc.) -- and found the contractor actually owed me money rather than my still owing them (not including, of course, the amount I exceeded the allowances).

When we went over the items and the contracts, the contractor nickel and dimed me down a bit, fine ... and we agreed he owed me $940, but then he said "Well, we did a lot of things for you that we didn't charge you for and you were a pain in the ass, so why don't we call it even." I said, "You did charge me for extra items and if I owed you this money, would you say we should call you even?" He gets loud and rude. Basically refuses to refund the overpayment even though acknowledging it was overpayment. Doesn't finish work. Hear he's gotten sick after he disappears, so start dealing with his partner, who's much nicer, but still months to get the final items finished and fixed (re-glazed tub had chipped while the workers were still in it doing plumbing work -- multiple chips; closet doors broke and fell off and then others broke and fell off, etc.). The nice partner says he'll pay me ... and says he'll pay me and then mid-winter '09 stops picking up phone or returning calls. Run into original partner today and am reminded again of it -- coming into my building to do a bathroom renovation -- is all nice until I ask about the pending refund -- he says "you and I disagreed about that, you have to call my partner who said he was going to pay you." I do, "nice partner" answers from a job site with power tools in the background (so they're both on jobs and have biz) and says "I know I owe you the money and I have a promise to pay you, but business has been bad and people owe us money. I'll pay you when I can." I suggest a weekly payment plan and say my business is bad too, but ... this after the call being "lost." And he leaves it open ended as to when he will.

So -- suggestions? Don't want to spend a lot of time on negative things and it's not a zillion dollars, partly principle and partly the money. Could: (A) email and suggest payment plan to either actually get it or to have more documentation. (B) small claims court so it's on their record, but hard to collect. (C) call my management company and tell them about it -- contractor does a lot of work for them and in my building (was recommended by my super and handyman -- told them about it before but doubt they've stopped recommending as they get referral fees). (D) do negative publicity about them. (E) other ideas?