Regarding finding out the sex at 20 weeks versus at 40 weeks... Of course it is a surprise no matter when you find out. But there is no question in my mind that it is a different KIND of surprise.
To me, it's like finding out a month before your birthday that your husband is planning a surprise party for you. Sure, it would be a surprise to learn that piece of information, but it's nothing like the surprise of actually opening the door and having 50 people jump out at you, yelling "SURPRISE!"
Or it's like finding out in October what your Christmas present is going to be. Sure, it's still a surprise when you find out in October, but it's not the same kind of surprise as opening that box on December 25.
Some people want to know about a surprise party ahead of time so they can be sure to wear a cute outfit, have their hair done, etc. Some people want to know what their Christmas present will be so they can make sure not to buy it for themselves and decide what kind of present to give the other person. There's nothing wrong with that! And I would never judge another person for their choice. But I do think there is a qualitative difference in the kind of surprises we're talking about at those two different times.
Just my opinion.