First of all I'll state the obvious, XP Home was not designed to be a file server, hence there will be some frustration because you are making it do what it's not supposed to, according to Microsoft, but who ever listens to them anyway.
Here's a few things to try. I never use XP Home, so if I suggest you look somewhere, and it's not there, rest assured it is, if you have XP Pro.
XP Home comes with the infamous "Home Networking Wizard" Try it if you haven't! It will make a disk for you to take to the Win98 PC to set it up for the network. If that doesn't work, check your permissions.
Disable Simple File Sharing:
1. Click Start, click All Programs, point to Accessories, and then click Windows Explorer.
2. In Windows Explorer, click Folder Options on the Tools menu.
3. Click the View tab, click to clear the Use Simple File Sharing (Recommended) check box, and then click OK.
Still no luck? Ping the server from the client and vice versa. If the server can ping the client, but the client can't ping the server, check to see if a firewall is setup on the server. If so, disable it.
Stil no luck? Go to a command prompt, in Win98 got to Start->Run and type "command".
Type "net view"
this should the computers on the network. Is the server there?
Yes or no, assuming the server's name is server, and the share you are trying to access is named SHARE type "net use z: \\server\share"
If it replies, "Command completed successfully" you just mapped drive letter z: to the server and your network works fine, it's the Network Neighborhood that's not cooperating.
Still no luck?
Check your protocols. Is NetBeui enabled on the problem PC and not the others, or the other way around? Is your subnet the same on all PC's?
Let me know if you've been through all this and still are having trouble.