The timing of when you gave them the P45 is important.
If you gave it you your employer before the end of the tax year (5th April 2009) and they were able to 'put you on the system', you should have got the back-tax back in the tax year 2008/9. They clearly didn't do this, as it still isn't sorted. The receipt of the P45 by the employer is enough of a trigger under HMRC rules for your employer to use the default personal allowance in the 2009/10 tax year - which we are now in.
Your employer is therefore at fault and you need to go back to them - not HMRC. If you gave them a P45 with an L suffix on it, your employer should be using the tax code 648L for the current tax year - until they are told otherwise by HMRC.
Regarding the back tax for the 2008/9, you will have to deal with this though HMRC now (because your employer cannot deal with it, because we are in a new tax year). You will have paid too much (as you realise) because, in the final weeks of the last tax year, the employer used BR and not your proper personal allowance coding. Look here for how to do it.
http://www.hmrc.gov.uk/incometax/overpaid-thro -job.htm#3
It will require you to contact your tax office which you find out here.
http://search3.openobjects.com/kbroker/hmrc/lo cator/locator.jsp?type=1
Phone them and chase it up.