Probably nothing wrong.
If I understand the issue correctly, when you say "see" I assume that you just mean the XP machine(s) are not visible when you open explorer and select network at the bottom of the left column. (sort of like the old network neighborhood, or my network places). As you say "I can copy FROM W7 to the XP machine."
That information being available is dependent on the propagation of netbios information to all network nodes
Couple things you can try
First reboot the machines bringing up the W7 machine first (browser election, who's the master browser, who keeps a list of servers) sometimes if the XP machine is first up on the network, for some reason the W7 machine doesn't win, I don't know why)
use the nbstat utility on the Win7 machin
from an elevated command prompt (runas administrator)
type nbtstat -R this should purge and reload the netbios cache table
Then ping the xp machine by name this should load it into the Win7 netbios cache table
then nbtstat -c this should show that the xp machine's name has been added to the Win7 netbios cache table
Now you should be able to see it.
You could always add the ipaddress and the netbios name of the XP machine to the existing Win7 machines lmhosts file
located here C:\Windows\System32\drivers\etc
this will insure that the netbios information regarding the XP machine is always available to the Win7 machine. However;
if you are using DHCP to obtain ip address for machines on your network, then if the ip address of the XP machine ever changes for some reason, you will have to update the information in the Win7 machines lmhost files. Static ip address assignments will resolve this with ease.