I basically have the same problem.
With my laptop (windows 98), I scan the environment, detect my router
and select it. Thereafter I have internet access. The signal is strong, no problems.
When connecting the same USB adapter to my XP desktop, I also detect my router and select it. Thereafter the status bar shows a connection and then the connection is gone and then it reconnects, etc.
I have noticed that on XP in that case different channels are selected.
It starts with channel 11 (which is what I have configured), but when it
swaps to e.g. channel 8 (why ?????), the connection is gone (and I can imagine why !!!).
Also in this case, the signal is strong, so there is no reason to swap channels.
So why is it changing channels on XP and not in Windows ?
From the dos-prompt I can sometimes ping to my router.