If BT have not fixed/will not fix the issue, and you can get documented proof of both records of calls to BT and of the issues with your service then you are in your legal right to cancel the contract (make sure to cancel the direct debits from your bank)
I'm in a bit of a legal tussle with BT myself at the moment due to packet loss and the refusal to replace the line without charging me £200 "by the hour" to put a new line in, sadly I haven't the time to gather the proof as it is an intermittent fault but your issue sounds very clear cut and easy to get proof.
You need to read through your contract and see what it says about garanteed service/sla. If BT have not abided by their end of the contract then the contract is by all legal definitions null and void. With someone like BT though you'll need to make sure you have proof otherwise it's a "your word against theirs" situation. If they refuse to close your account then let them run it through to a debt collection company and then show the debt collection company both your contract and the proof that BT have voided the contract. This is assuming you don't have the time or money to hire a lawyer to sort it.