Make sure all Windows platforms are using the same workgroup name.
It's also possible the system sharing the printer (XP in this case) has a firewall preventing access, either the one provided by MS or even a third-party (Norton, McAfee, etc.). You either need to open the appropriate printer ports or disable the firewall completely (I recommend the latter at least until you identify this as the problem).
When you attempt to access the printer, does it shows up as available, iow, listed but you can’t connect? Or is it not listed at all? If it’s not listed at all, it might just be a name resolution problem. You can try just typing in the IP address of that machine followed by the printer name (e.g., \\192.168.0.100\CanonMP160 ).