This is pertaining to linux, but if this WinXp machine had cygwin or similar, you could try using ssh.

Create a ssh tunnel from behind the firewall to the outside system.
"ssh -v -R 2222:localhost:22 outsideIP"

Then from the outside computer, connect to the localhost.
"ssh -p 2222 localhost"


This might not help you, but good to keep your options open in case.