1) If the user mouses over/out/over/out/etc quickly, block 2 keeps fading in/out/in/out/etc for a few seconds, even though the user's mouse is not on block 1.
You need to cancel the animation on mouseOut. You can use the stop method to do this. http://api.jquery.com/stop/
2) If the user mouses over block 1 and then moves their mouse to block 2, block 2 fades out - I need block 2 to remain visible.
Add a hover event to block 2 which adds a css class to make block 2 visible all the time. This should be removed on mouseout.