I don't know that anyone knows the exact cause yet.
Some folks have reformatted the card and it's cleared up the issue, for others the problem returns after a period of time. Others have swapped out the card which has cleared up the issue, for others the problem returns. It may be related to the card getting corrupted when connecting/disconnecting from a PC over USB but noone has been able to nail anything down for certain yet (at least that I've heard).
From all indications there's no clear solution.
I've been lucky. I haven't had this problem yet. If it's any help, here's what I've done to date. I swapped out the stock card for a 4GB sandisk, I unmounted and reformatted the card on the phone and I always use the "safely remove hardware" function in windows when I have the phone connected in mass storage mode. I also almost never connect to my PC anymore via USB... I use dropbox to sync files between my phone and my pc.