I had this problem earlier today but with fadeTo not fadeIn. I just used this code
$(news_controls).hover(function(){ $(this).stop().fadeTo("fast", 1);},function(){ $(this).stop().fadeTo("slow", 0.4);});
However as it has been said in your case two true flags are needed to jump to the end so your code should look like this
<html><head><script src="http://code.jquery.com/jquery-latest.js"> </script></head><body><script type="text/javascript"> $(document).ready(function () { $("button").click(function () { $("span").stop(true, true).hide().fadeIn(3000); }); })</script><button>FadeIn</button> <span>Hello, world!</span></body></html>