My best mate's missus works for a small outsourced payroll firm, and she says it is incredibly common for balls-ups. Its usually the payroll companies that cock-up, but HMRC aren't exactly innocent either. This should hopefully improve now HMRC have (near) real time access to pay.
Last year, HRMC put me (and a whole load of other peeps) on a K tax code (K = you're gonna be butt-screwed on tax), from what I know about payroll and tax, I know it was a non-HMRC cock-up, our own company's (a very large corporate) payroll were insistent that their biffs hadn't made a mistake, HRMC were helpful enough to say where the mistake was, yet still our payroll people refused to acknowledge for weeks, and a lot of shouting, letters and generally being dicked around.
The issue was a small (legal) change of company name, so they'd submitted the tax info to HRMC under 2 different empoyers, thus HMRC assumed we had 2 jobs, and K coded one of them.