If you are opening ports, this generally means that you are allowing incoming connections to be forwarded from the firewall/router to a specific IP address. So the question is, are you assigning different IP addresses to the XP and ME machines? You would need to to have them on a LAN. You'll need to see which IP you are forwarding the port traffic to and set it to be the machine you are using. The other option is to set both of the machines to use the same IP, so that your 'game' machine runs on that specific IP. Either you set the IP address manually on both machines to be the same, and only run one of the machines on the network at a time, or you set up your DHCP so that your 'game' machine comes up first and is always assigned the first IP in the list, followed by bringing up your other machine.
In order to have port forwarding for both machines simultaneously, you would need to have two different IP addresses as seen from outside the firewall, so that you can set your firewall rules to apply port forwarding in both cases to either machine, depending on which IP the packet is destined for. A lot of people don't do this because it costs extra to have more than one IP address granted from an ISP, so they set up an internal address table for their LAN. In this case, you can only forward ports to one of the machines behind the firewall.
I think some games have a scheme where incremental numbers are used, so that 2300 will apply to the first game machine, and 2301 will apply to the second game machine. This might provide a mechanism to forward to two machines in a LAN, but I think both of the machines have to be actively playing. I am not experienced with this aspect of port forwarding, so someone else will have to chime in on that.