Well, I pretty much disagree with eco. I believe that if things are at risk, the PM needs to act - and fast!
1st - Identify the reason behind this problem
It seems to be one (or maybe more than one, hope not!) problem somewhere that needs to be addressed for further cycles:
- OR the project has been presented to the sponsor in an over optimistic way
- OR there are far more bug to be fixed that initially expected
- OR the development team is performing below expectations
Either way, the PM needs to identify where the bottleneck lies. Once identified, take notes and keep it. We'll use them very soon.
2nd - Make the team / managers aware of the scenario
Ok, back to the current scenario. Now that we know where the problem lies, is clearer what needs to be done. We can't expect that bugfix guys will be available, so the PM needs to know how much can be done having 1/3 developers working on development. Gather all this information and formalize it, having a clear and realistic meeting with your managers about the problems. You need to clarify where (from the above items) this scenario came from. This meeting will be a post-mortem meeting (since the deadlines are pretty much in risk) so next time the PM will need to act as soon as he believes something will get out of the track.
3rd - agree with the client what must and what may be delivered
Your managers are aware of the problem, now we need to deal with the client. This meeting will be tuff. You need to provide the necessary information and agree with them what are the main developments to be delivered (based on the 1/3 resource).
They won't want to take anything out, but if the scenario is as you stated, delays or partial deliveries are a fact. Having the list of must-have, the PM will take a list of nice to have entries, in an optimistic case where the bugfix guys have time to do some development.
At this point, the clients have only two options: partial deliveries or delays. The PM needs to feel the best approach to propose to them (I'd go for partial deliveries, as above).
4th - Avoid this problem in the future
There are problems with the communication, estimation, development, bugfix, or all of them. The PM must identify them ASAP and act to have them solved (or mitigated).
Everything can goes wrong. It's IT, for God sake. But, the PM must act as soon as an unexpected scenario arrives, and the first action is communication. Letting everyone know that a storm is coming, they cannot blame the team / PM for problems (basically because the PM had already alerted about them).
A ps.: The PM is also a developer's agent. Thus, if the PM will have a long term relationship with the developers, his duty is to not expose them, but also acting very effectively when something goes wrong with a developer. If the relationship is a short term... he must not expose them either. :)