back to the original topic - let them wear what they want. Im my case that means my 4yo always wants to wear the shirt with the motor bike on it. That's fine. If he wanted to wear a dress (which I doubt he will do, as he already knows 'they are for girls'), I'd say 'fine'.
edit - unless it was too short - I don't really want his arse hanging out of it