Applications on SD Card disappear: Gingerbread bug or hardware error?
I've been Googling this problem for a few days now.  It appears to be based in some startup bug wherein the launcher app scans for existing applications before the SD card (internal or external) is mounted.  First off, use FileManager or equivalent to look at your SD card's contents.  If you see some grey icons with the app names or "com.[appname]" , then you're suffering from this bug.
There are a variety of work-arounds posted in various forums -- too many for me to provide links here.  Rumor has it that ICS 4.04 and JellyBean may have fixed the bug.  In the meantime, you might want to try Link2SD and/or cautious use of tools like App2SD which promise to tell the user which apps should not be moved.