Did you change anything like keywords or meta tags? Other options perhaps you have many competitors that is working hard to fill and surpass you?
Imposiable to say really, my advise to you though is to make sure you know all the SEO methods and apply them to the best of your ability. Its really not that hard to do well it simpley takes alot of time if the search terms are very competative. Just be sure not to spam anything and to use as many SEO methos you can is my advise.
Probably a minor botnet DDoS Attack or a single DoS Attack, where they said enormous amount's of packet's to your website knocking it or the server offline, displaying page cannot be displayed or some other error page...
Does it really matter is Yahoo actually giving you traffic at all? It's probably just a different use of keywords.