Mike Ebert summarized a major concern best in his post entitled Lessons & Rules On an IPM/Customer Demo. We should have been communicating better than we were.
An early warning sign that I did not immediately recognize was the duration over which stories remained in a "working" state. Those stories have time requirements estimated. However, those times had come and gone without the stories moving anywhere. That's not to say that we as a team weren't working on them, or conversely that we needed more time. We were working on them, but not keeping the information flowing about how much had been done or how much remained.
This was also true for who was working on what. At one time, Eric and I ended up working on the same problem without each other's knowledge. The result of this was wasted code - wasted time. Better communication in both directions would have averted this.
As mike said, our IPM had issues. First and foremost, our goals were not achieved for this most recent iteration. We fell short, and our product was demoed in a clunky, incomplete state. The remaining work was small and might have been finished ahead of the meeting if we had discussed the tasks and assignments more regularly and more thoroughly.
Finally, to better focus our efforts, the team's progress and needs should have been been communicated to the designers and to the client - the whole of the team. Keeping the project visible to all eyes with interest seems a good way to help bring it to completion.