I do not agree with you on this one. I believe that Steph knew very well what kind of event she is attending, after all she is the one orginizing it. Charlene's dress is not just another cocktail dress, if it was that would certainly be OK. Her dress was way to fancy for the occasion no matter who is attending. There was to much lace and embroidery to be just another cocktail dress. Her hair was overdone as well. It really doesn't matter where event was held. You could be invited to the White House for a barbecue, and that doesn't mean that you should show up in a business suit.
As for the PA/Sovereign being present that isn't big deal any more since he has been showing up in any/every occasion in Monaco. His presence has become nothing special. As someone said before pretty soon he will be attending openings of every food stand in Monaco. The way guests, who knew that he will show up, chose to dress show how much his presence is special and how much they respect him. If PA thinks that he will gain a respect by showing up and flaunting his overdressed friend/companion/girlfriend/swimmer Charlene, he better think twice.
As for overdressing I do agree that if you have no clue how to dress for a certain occasion it is better to be overdressed then underdressed, especially if you are trying to make an impression on the rest of the "ordinary" people. To that I would say to Charlene "you go girl", but just watch out because that could backfire.