Here's the deal with 5190. From a netstat -n it looks like AIM creates 3 connections to 3 hosts on port 5190. But port 5190 is not on your side. It's on the 3 computers run by AOL. Each of your computers is connecting FROM a different point. Here:
Proto. Local Address . . . . .Foreign Address . . . .State
TCP .. 192.168.0.152:1304 . . 205.188.8.60:5190 . . .ESTABLISHED
TCP .. 192.168.0.152:1305 . . 205.188.1.60:5190 . . .ESTABLISHED
TCP .. 192.168.0.152:1585 . . 205.188.153.12:5190 . ESTABLISHED
That's a netstat -n (I put the dots in so the spaces wouldn't get unformatted). 192.168.0.152 is me. And all of the connections are from different ports on my computer. Outgoing connections as far as I know cannot use the same port twice simultaneously. But each of the AOL servers is running the server process on port 5190. THAT port is a listen port. This means that it's waiting for a computer to initiate a connection (if you want to run a listen port, meaning a server, you have to forward or DMZ). The point though is that many computers can be connected to that host on port 5190; it just forks off processes as more computers connect. It can always remain listening on 5190. So everyone is connected to (these?) 3 servers' port 5190.
As a final example, say the client program actually requested its outgoing port (this is rare and more difficult). So say AIM wanted port 1300 every time, for one of these connections. And then all of your computers used 1300 at the same time. What does the router do? It changes the port. One of you could be 1300, the others would be 1301 1302. These aren't the numbers it would use but just an example. The public ports must be distinct also, but it's no trouble for the router to change the port number. In fact it probably does that by default; when I didn't have a router counter-strike would report my client as port 27005 or 27015 (I forget) but with the router it would report it as [public ip]:2453 or something. But on my computer it was still 192.168.0.152:27005 or whatever it was before.
This stuff is too cool

let me know if I need to clarify anything. The other explanations are also good. Public port 21 is only forwarded to 1 local (private) IP so it would know which computer to give the FTP to. If the 2 computers "behind NAT" (the DMZ one is too but not as perceptibly) both hosted FTP servers but not the DMZ, and there was no special rule for forwarding port 21,
neither FTP server would be reached.