There are several reason why a Battle.net Character may be missing from your character list.
The Battle.net realms may be experiencing technical difficulties:
Please check our Battle.net Status URL -
http://forums.battle.net/board.html?forumId=12019&sid=3000 for more information on scheduled maintenance and updates to the Battle.net servers.
Character servers being rebooted or are busy:
It is possible the character server received too many requests at one time and may need a few minutes before it will be able to get your character information. The most common time for this to happen is right after a server is brought back online after maintenance or rebooting.
Deleted characters:
The character may have been deleted. Always make sure your account is protected. If in doubt, change your password and make sure it is a combination of letters and numbers and longer than 4 digits.
Blizzard Entertainment will not resurrect deleted characters.
Expired characters:
Diablo II Battle.net Characters track their own expiration status. For example, the character selection screen will show an expiration period of 10 days for any newly created character. Once you log 2 hours of in-game time on that character, the expiration indicator will disappear. When the character comes close to its expiration, a new message will appear displaying the amount of time before the character will expire. Characters will expire after approximately 90 days of inactivity. Be sure to keep your characters active by playing each of them in a game at least once every 90 days. We are not able to restore expired characters for any reason.
Report your missing character:
To report your missing character, please fill out the Diablo II Character Status Submission Form -
http://us.blizzard.com/support/diablowebform-us.xml.
Note: You will receive a reply to your report within a few working days.