Maybe things have changed, but "mess dress" in the Navy refers to the black tie uniform known as "Dinner Dress Blue Jacket" which consists of high rise trousers, pleated shirt with a turndown collar, black bowtie, gold cummerbund, and mess jacket with mini medals, gold studs, and cuff links. White tie events however require "Formal Dress" which consists of the same uniform with a white waistcoat (minus the cummerbund) and a white bow tie to replace the black one.In the U.S. Navy and I think the Royal Navy also, mess dress is equivalent to white tie while mess undress is the black tie equivalent.
My personal advice (I know I'm new here so my credibility can't go too far) is to wear a black suit. You can get away with it if most are wearing black tie, but I'd say that the chances of "most" interpreting semi-formal as black-tie are slim to none. You would be much more likely to look out of place in black tie... As an aside, I went to an evening wedding in Manhattan in which the dress code was "black-tie welcome" only to see very few "tuxedos." I was wearing the Navy's summer equivalent for black tie, the brides father was wearing a conservative one button PL, my brother was wearing the ever popular notch lapel with a FIH, and I think one of the guests was wearing some form of "tux" with colorful tennis shoes as some type of "hip" fashion statement.
I would also like to believe that any good host who knows the meaning of "semi-formal" would never choose that as a dress code on his invitation because of the ambiguity which would result. To believe that by nature a military officer knows the rules of formal wear is a stretch (look at our Commander in Chief).
Out of curiosity, is that with the Army/Airforce? In my experience the Navy and Marine Corps are stricter in their uniform standards.Unfortunately for those of us who work with the military on a daily basis, since this is a time of war, they pretty much wear flight suits (coveralls) and Army Combat Uniforms to the office w/ chunky boots, looking pretty sloppy. I believe the people I work with have been given carte blanche to wear BDUs/ACUs, or battle dress uniforms, which are barely office wear and more appropriate for outdoor use.