Networking is always a grey area as far as MS is concerned.
Try these issues.
1) on the XP machine can you PING any other machine on the network.
2) Can the "missing" Windows 7 machine ping the XP machine.
3) Have you enabled file sharing on the XP machine. AND enabled Network discovery on the Windows 7 machine.
4) Is the XP machine in a different Workgroup to the rest -- shouldn't matter but changing the computer name / workgroup sometimes "magically" fixes the connections. Don't ask me why -- I'm NOT a networking guru -- all I know that this sometimes fixes the problem.
6) if you CAN ping the "Non acessible" Windows 7 machine from XP try and connect a network drive manually like \\wwwww.xxxx.yyyy.zzzz\d
assuming the share name on the Windows 7 is called d and w,x,y,z is its LOCAL IP address.
Note you NEED to have an account on ALL the machines you want to connect to.
Does the Windows 7 machine connect to the XP machine.? if it doesn't try also to connect an XP drive manually as well as above \\aaaa.bbbb.cccc.dddd\d
for example. Again a,b,c,d is the local LAN address of the XP machine.
Sometimes as well the DHCP server (in your router) gets stuff messed up and the IP address is not acessible or is being used by a network device such as a NAS Disk, Network printer or multi-media streamer.
I had this problem when using SQUEEZEBOX as an audio streamer -- I now reserve specific addresses for the "Non Computing" network stuff and restrict the IP range for LAN computers to one's that the other components can't use.
Finally for this type of sharing ALL accounts on the Windows 7 machine need to have a password.