The browser is usually the culprit here. It could also be a proxy (junkbuster or other) that does not allow cookies to come through. I have read about some people having probs with XP's builltin security thingies.
Only last week I had a similar problem. The 'suddenly' sessions stopped working on all machines with explorer 6.0 installed. I searched for a solution/cause for two days. After this I discovered (riding home on my bicycle), that it was the underscore in the hostname that was causing sessions to stop working.
Windows apparently got a bit 'more w3c comliant' with the latest explorer update which causes some weird behaviour. An underscore is not a valid character in a domain name. A site (with an underscore in the hostname) which used to work perfectly with sessions suddenly stopped to do so.
The weird thing here is that the only thing explored does differently now (since the 'upgrade') is to not write cookies for any non w3c compliant hostnames. It does render the page correctly.
Mozilla does not make a big deal out of it, it also counts the underscore as a valid character.
Changing the underscore to a dash in het hostname solved my problem.
You can read up on sessions here: http://www.php.net/manual/en/ref.session.php but of course you already knew that.
I would advise you to build very simple test scripts to determine the exact cause of your problem. It could be in the browser configuration. Or in XP's?
Good luck.