I found my problem getting the firmware updated... I had to follow this procedure.
Copy all update files to my SD card.
In XP, tell the file explorer to eject the card to make sure it finished writing out the buffers to the card.
Insert the card into the GP2x while still powered on.
Turn off the GP2x.
Turn the GP2x back on.
This was the only way I could get the GP to recognize there was a card installed.
The step above about ejecting the card through file explorer I found is pretty important. If I didn't do that step, not all of the files were written to the card.
This might explain something to do with my having different results from different card readers. I would never "eject" the SD card from the laptop's internal card reader. However, I have never had to eject a card from my external card reader either. Maybe something to do with the card reader itself.
Interesting thought, try this for winXP to keep that stuff to a minimum
Right click on the drive, choose hardware, choose the drive, click properties, choose policies, then fix it so that there is no caching,
I have been yanking my cards in and out, back and forth all night, no ill effects,(well I had to restart once)