Yes, formal night (the Captains dinner) is for everyone.
And your son will look fine in what you described.
(I hit the button accidently....I hate when I do that!!)
As for advice about the 3 year old, remember that dinner can take an hour or more. You know your little one and what their tolerance level is. One trick a friend of mine did. Her child was about that age and had a low tolerance level for "sitting"... so they would come in, order their meal and then step outside the restaurant until it started arriving. These courses usually flow pretty well, however, if there was a delay, she would get up again and wait outside until the entree arrived. Not saying that is for everyone, but it worked for her. (they happen to be sitting near the door)
Also be aware (not saying you would do this) not to allow them to run around the tables. These waiters have to much going on and a small child could get hurt or hurt one of them.