An interesting extract from the Young Writers Guide I found while researching English anomalies:
WHO The Old English word for who was hwa (both the h and the w were sounded). During the period 1200-1400 in the south of England, writers spelled this word with a w or wh because they incorrectly believed it belonged to the same family of words as what, where and which, and they wanted to make the language more consistent. However, the word wha was still pronounced /hwa/. From the 1400s, the pronunciation and spelling of the a changed to 0. At about the same lime, people stopped sounding the /w/ in /hwa/. So the word who was pronounced /hoo/ but still began with the letter w.
The same story is true for the words whom (Old English hwaem) and whose (Old English hwaes). For no real reason, between the years 1400 and 1600 several other English words with an /h/ sound before the letter 0 were also changed to wh- (whole, wholly, whoop). So English has this strange group of words beginning with a silent w.
Read more over at Google Books, and yes this has turned into one of those blogs, now get off my lawn.