We have a big problem, in that we are disenfranchising two large states. It was the party officials who violated the rules, not the voters, and we need some fair way for Democrats in Michigan and Florida to be represented.
The two cases are different: in Michigan, voters could not choose Obama (or John Edwards), while in Florida they could.
So here's my attempt to play Solomon. More on the flip.
First, Michigan. It would be an injustice to recognize the results, because only Hillary Clinton was on the ballot.
However, Michigan already has an election scheduled for August 5th, which is the primary for congressional seats and local offices. Democrats could be asked to choose between Clinton and Obama at that time. This would still allow two weeks to get the voters to the convention. An alternative would be a special election at an earlier date, perhaps a mail-only election to reduce the cost.
With Florida, there's a better argument for recognizing the vote, even though there was some bias in Clinton's favor (since she was pushing to have it count and Edwards and Obama were not), despite the violation of the rules. People turned up and voted, many (though not most) for Obama.
It is fair that there should be some penalty. Since the Florida state party is the offender, and not the voters, I think an appropriate penalty would be for Florida to lose its super-delegates. After all, they are the party officials who gave us this mess. A similar penalty could be applied to Michigan.
Handling it this way will probably help Hillary more than Barack, as she gets to keep the Florida win (on the other hand, she loses more superdelegates). But I think we need a solution that preserves democratic values, rather than thinking about how to help our own sides the most.