One trick I've discovered, that seems to make Windows XP machines "talk" better to other computers on a home network, is to add another protocol (I usually add IPX/SPX) in the properties of your network connection. To do this, go to "My Network Places", click "View Network Connections", right-click on the connection you're using (probably "Local Area Connection" unless you're using wireless) and select "Properties". Then, Install>Protocol>IPX/SPX. You may need your Windows CD, and will have to restart your computer after the protocol is installed. You should do the same on the Win98 machine, although the steps might be slightly different.
Also, check the properties on "My Computer" and make sure that your Workgroup (on the "Computer Name" tab) is the same on all of your computers, as was suggested previously.
I had some Windows XP computers on a home network with a Windows 95 machine (486), and everything seemed to work ok once I did those steps on all computers involved. I'm pretty sure that I even had printer sharing up and running.
For the Linux guy: How do you mount a drive from a Mac running OS X 10.4.11 on Ubuntu 8.10, without using FTP? I had it working on an older machine running 8.04, and don't remember the steps I took... I think I did something with Samba, but that option isn't in the "Connect to server" menu on 8.10 and there are too many samba-related options listed in Syanptic Package Manager for me to do any testing there. Of course, I reformatted the machine I had it working on, so I can't just go and check. [/me slaps forehead]