Hi Mike
There's a bit of a bottleneck, but it's the uploaders, chats, or Direct Connecters who will notice it. Good to hear that you can download just fine.
In order to accept incoming connections, your machine will need a static IP, and your router forwards the port to that static IP. Typically, you set the static IP in the OS X System Preferences->Network Preferences so that each machine behind the router has a clear path to the gnutella network.
So, if the router has the typical 192.168.1 address, you set your machine's staticIP to 192.168.1.2, the other machine to 192.168.1.3, and so on.
Then, in the port forwarding section of the router's config page, you map a port to that machine. Say, give port 6346 to 192.168.1.2, 6350 to the 192.168.1.3 machine etc.
That way each machine has a clear path in and out to the network, and it will be saved between restarts. Otherwise, the router might give a different IP to each machine between restarts.
I don't really know how exactly UPnP works, so the suggestions that I'm giving are for a manual setup. UPnP is designed to avoid all this confusing manual setup, which is great provided the router also cooperates.