The WRT54G is a "lemon" in that it has firmware problems & Linksys never fixed it. It is totally unreliable run in UPnP mode. Port forwarding as Birdy suggests is the best option. There is a 3rd party fix to the firmware but not recommended unless you know what you are doing.
Very important with port forwarding is the order of steps:
1.
Setting up Static ip for Windows XP is the
very first thing you must do (as pointed out by Birdy).
2. Forward both TCP & UCP ports within the router.
3. Set LW to manual port forward & is described in above link Birdy gave you. (this can be done 2nd)