Software from the Internet can only connect to ports on your computer where something is waiting for a connection. Programs waiting for a connection will be in the LISTEN state. Also known as LISTENERS. You will note only LISTENERS are TCP only. All the UDP ports will not have a state due to them being stateless by defination.
It is a networking impossibility for software to connect to a port which has no program running on that port on your local computer. Sort of like trying to get water out of the end of the water hose when it is not connected to a spigot. If the spigot is turned off, nothing can extract water from it.
To see which ports need to be blocked, startup a command prompt (Start->Run->command).
Type in "netstat -an". This will show all your open ports and the ones that are in a LISTEN state.
Additional temporary ports are port 25 (SMTP or inbound email), port 80 (WEB browser port), port 23 (Telnet if you use it), port 110 for POP3 (inbound email), ports 20/21 (FTP/FTP Data).
If you want to be paranoid, then block allports below 1000 as these are the defined ports for virtually all services. However, MS decided to use on in the 6000 range for some service.
People who claim software can connect to a port where no software is connected to it on the local computer are either trying to sell you something, lieing, and/or ignorant.
Does it hurt to block all ports? It certainly can. If you have logging enable in your firewall, then it certainly does hurt, as you will be logging useless information. You also add overhead for every legitimate network packet along with the possibility of corruption or loss of that packet (particularly UDP packets).
As far as the ports Aces High uses are concerned, they are find to leave open. Your computer is not LISTENING for a connection when Aces High is running and we do not use DirectPlay for our networking layer.