After completing my return this year, I also had a repayment due. It was processed automatically the day after I submitted the return and was in my bank account by the end of the week.
I would ring the tax office again (make sure you speak to your local tax office and not to the self-assessment helpline - you can find the number at
http://search2.hmrc.gov.uk/kbroker/hmrc/locato r/locator.jsp?type=3).
Ask them why your repayment has been delayed, and if they cannot tell you, ask to speak to a supervisor or manager and insist they update you on the situation.
They may have a reason for delaying the refund, for example if they believe they need to do additional checks, but they should let you know this when you enquire, as you have a right to know if they are contemplating an investigation.
If it's any consolation, they do pay interest on overdue amounts, so when they eventually issue the refund, you will get interest added (surprisingly, it appears to be at a commercial rate).