In MOST cases heatsinks work better when the fan is blowing air into them. Why is this, you ask? Think about it: when the fan is blowing into them there all that pressure behind it, and the air is forced through the fins all the way down to the base and out. When the fan is sucking air away from the ehatsink, the pressure is facing away from the heatsink, and so the air is moving very slowly and weakly around the heatsink fins. Furthermore, the surface area that the air is being drawn from is larger, and most of the air will be drawn from the top of the heatsink, leaving the base (the hottest part) starved.
In certain cases, however, it will work more efficiently to draw the air away; for instance if you have a shroud to draw air in around the base of the heatsink, and/or if you immediately exhaust the air being drawn from the heatsink.