It\'s weird that you\'re able to traceroute or ping but not play.
You already said that your pc has the port open, but also ensure that the first pc of your lan (meaning the one that has the inet connection) has opened it too.
I don\'t know what can be going wrong, but I guess you\'ll have to monitor each line of your net, with a program like ethereal (free) that will help you to find out what might be going wrong.
If you\'re able to play other online games, that should point, theoretically, that there\'s nothing wrong in the Network Address Translation, but I guess you\'ll have to have patience, and go and ensure with the mentioned program, that the data packet goes from your pc, and exits your lan to the inet, and then, that from the inet, it reaches your lan, and is correctly sent to your pc, again.