I initiated a discussion on this very topic on another website (Atlantic Monthly's Word Fugitives) and I think that we eventually settled on enantiodromic to describe such a word; from enantiodromia, which means the changing of something into its opposite -- a process that most such words obviously have to go through to arrive at having two opposite meanings!

Some of the suggestions were: Janus words, auto-antonyms, contronyms, antagonyms and schizonyms. Here is a link to that discussion, which itself includes links to examples and other discussions:

http://www.theatlantic.com/unbound/fugitives/diametrical.htm

here are a couple of other examples: overlook (or oversee), peruse (hi Jeff!) and anabasis (military advance or retreat).

and here's one that has certainly gone in contrary directions: sanguine, which can mean 'bloodthirsty' or 'optimistic'.