While there are some software solutions designed to alert you to fan failure, it's not generally something one wants to fool around with. Generally, the ball bearing fan is the superior choice. As mentioned above, many heatsink manufacturers will ship their heatsinks with fans already attached. The classic design used to have a fan merely sitting on top of the heatsink, at the very tip of the protrusions. It's more often than not that heat problems are the result of poorly mounted heatsinks, not inefficient heatsinks or fans.
Air is a poor conductor of heat, at least when compared to aluminum.
In a perfect world, all heatsinks would be milled to be perfectly flat. In real life, most heatsinks have minor imperfections that can make a major difference in heat transfer. The problem here is that the heat is not being transferred to the heatsink as efficiently as possible, since it's stifled by having to be transferred through the air between the two. One possible solution to this problem is lapping. The problem with this is that, if it isn't done well, it may not end up being any better of a contact.