On the North Carolina contract, and according to North Carolina law, the closing date is as target date, not adrop dead date. If the parties are, in good faith, trying to meet the closing date, the contract is still valid, even if the specific date is not met. Repercussions of the breech of a contract can be severe. You should consult an attorney first if that is your intent.
As far as the "bad agent" is concerned, consider calling the company he/she works for and asking for his/her broker-in-charge. If that person can't get you happy, call the local mls board and investigate the proceedure to file a complaint with the NC real estate commission. You can't cancel a contract because you don't like your agent, even if he/she is bad!