Didn't have this problem when cancelling with O2 recently. They cancelled it fine and my last bill even has credit. Which reminds me, need to ring them up and get it back!
Same here, I was on a 24 month contract which started at the end of January 2009, at the end of december 2010 I gave my 30 days notice and requested PAC, transferred to my new contract 2 days before my 24 months was over and they even credited me for those 2 days. Cancelling my o2 contract was the easiest thing I've ever had to deal with o2 for.