After rooting my new Thunderbolt last weekend I ran into a problem that seems pretty common after doing some Googling, but no one really seemed to have an answer for on how to fix the problem; all of the apps that I had moved to my SD Card were no longer able to be used, and any of them that had their icon / shortcut on one of my Home screens just had the generic green Android icon - clicking on any of them gave me the message "The linked program is no longer installed on your phone". If I tried to use the Market to update any apps I would just get the progress bar acting as if it was working ... forever.
While I'm not 100% positive it's due to this particular app, I have a strong suspicion that it was; I had used the app MyBackup Pro to make a full backup of all data and apps on my original UNrooted phone, and after rooting (things were still running fine) I used it again to do a full restore of all that I had backed up, on the rooted phone. Then for some reason all of the apps that I already originally had moved to my SD Card were telling me that they could be moved to SD Card again (huh?), so I did. And as I would click that "move to sd" button on each app, I'd get another popup message saying "Failed to move application", then I'd just tap the button again and it would act as if it moved it. I did this for possibly 130 apps. Some other apps also needed a full uninstall/reinstall as well.
Next thing I know I ran into the problems that I mentioned about broken links. However, I could still see all files and folders on the SD Card if I used my Astro file manager, and if I looked at the SD Card on my Windows computer with the phone plugged in via USB. I Googled and Googled with tons of results of people having the same problem; one person had even spent 2 hours on the phone with a Verizon tech who had never heard of the problem before, tried everything, only to eventually ship out a new phone to the customer. Another had to go back and forth to a local Verizon dealer trying to figure out what was going on, and others yet were told by Verizon "too bad, sounds like your card is bad, go buy a new one". So, after trying a few phone reboots, and thinking I might've just lost tons of data, pictures, videos, etc. due to a corrupt SD Card I made one last attempt at rescuing my data. Turns out it was a quick and easy fix after all, and I didn't lose a single byte of my data.
Here's how (Note: These are Windows instructions, but whether you're using in MAC or Linux the idea's the same):
Pop the SD Card out of your phone (Power it all the way down first)
At this point you should be able to go to the card on your computer using your file explorer (like Windows Explorer or whichever is your favorite, I like Directory Opus), so navigate to the root of the SD Card's drive.
Highlight everything (CTRL+A) and copy everything to some other folder on your computer.
Now that that's all safely backed up, we'll need to reformat that microSD Card. I used Acronis Acronis Disk Director to do mine, but chances are any format utility will work.
So, choose to format it as FAT32. (Optional: If you can also choose cluster size like you can in Acronis Disk Director, I chose 16K clusters as opposed to the 32K clusters that is the default, and that formatting it on your phone would do. 16K clusters may give you more actual space on your microSD card due to less wasted slack space. The tradeoff is that it may be just a hair slower than if you chose 32K clusters. I haven't noticed any extra slowness on mine. You can read more on cluster sizes here if you'd like.)
Alternatively, you can put the card back into your phone, goto Settings | SD & Phone Storage, tap on "Unmount SD Card" and when it's done, tap "Format SD Card". This will format it using 32K clusters. If you choose to format the card this way, once you're done pop the card back into your computer's card reader and navigate back to it's folder.
Now that the card is freshly reformatted, all we'll need to do is copy our original stuff back onto it. so navigate to the folder where you copied all of your data to, highlight it all again (CTRL+A) and drag/drop it all into the root folder of your SD Card. It'll probably take a while to finish.
When it's done, pop the card back into your phone.
Last thing we'll need to do is make sure the phone is recognizing all the stuff again. To do this, start up the Android Market by tapping it's icon, and then tap on Menu | My Apps
This should force your Android system to do a fresh inventory of what's installed on your phone and SD Card, link everything back up and you should be golden. If there's still any problem, just try a phone reboot by holding the power button for a few seconds and when the menu pops up choose Restart.
So, to sum up without all of the potentially confusing details:
Pop your MicroSD Card into a card reader.
Copy all of your data off of it onto a folder on your computer.
Reformat the card.
Copy your backed up data back onto the card.
Pop the card back into your phone.
Run Android Market | My Apps.