You will see a wide variety of dress on the semi-formal night, and even on the formal night. Not everyone dresses up, and it is optional. You won't be turned away from the MDR if you are deemed "not formal enough." So my opinion is wear what you feel is appropriate. I think a sundress would be fine. However, I will caution that the a/c can make the MDRs chilly and you may wish to pack a shrug or something to cover your shoulders just so you aren't too cold.
Men would be fine in anything from khakis to dress pants. Any collared shirt would be acceptable. I think you probably will see most men in dress pants and dress shirt, some with ties, some without. Your son would be fine in dress shorts and a polo, although I might suggest long pants for the same reason I recommend a sweater.