Something to look into:
The fans on your processor cooling solution are controlled by the fan speed control solution on your motherboard. You typically configure this solution in BIOS Setup. It may be that the configuration is not being aggressive enough for high temperature situations. For desktop processors, a threshold, called Tcontrol, defines an upper limit for fan speed control for your processor. That is, for any processor temperature that is above this threshold, the processor cooling fan(s) (or the pump in a liquid cooling solution) should be running at full speed (100% duty cycle).
The Tcontrol threshold for your processor is determined during the processor's thermal validation and is permanently programmed into the processor. You can read it using any tool that allows you to read processor Model-Specific Registers (MSRs). I use a freeware tool called RWEverything, but there are lots of others. You want to read the IA32 Temperature Target MSR. It's address is 01A2h. Bits 16-23 provide you with your processor's Tjmax (Maximum Junction) temperature and bits 8-15 provide you with the Tcontrol Offset. The Tcontrol temperature is then calculated by subtracting the Tcontrol Offset value from the Tjmax value.
Typically, you use the Tcontrol threshold to establish a fan speed control "curve" that linearly increases the fan speed (duty cycle) from some minimum to maximum (100% duty cycle) over a temperature range that is anchored at the top by the Tcontrol temperature. For stability, I usually recommend a temperature range that is 20c degrees wide. Let us suppose for this example that you have determined that a minimum duty cycle of 20% is necessary for near-silent operation when the system is idle. Let us also suppose that the MSR is telling us that our Tjmax temperature is 100c and that our Tcontrol Offset is 20c (i.e. our Tcontrol is 80c). This means that we want to have the fan duty cycle increase from its minimum speed (20% duty cycle) at any temperature above 60c and it should linearly reach its maximum speed (100% duty cycle) at 80c (the Tcontrol Temperature). This means that, for every degree that the processor's temperature is above its minimum (60c), you want to raise (increment) the duty cycle by 4%. The equation you use for calculating this duty cycle increment is "(Maximum Duty - Minimum Duty) / Temperature Range". In our example's case, this is "(100% - 20%) / 20c". Note that, if this calculation yields a decimal-laden result -- for example, 2.5% -- you should use the next higher integer duty cycle. That is, if the calculation yields 2.5%, you want to use 3%.
Armed with this information -- and your processor's true Tjmax and Tcontrol values -- you should be able to set the configuration of the fan speed control programming such that it minimizes the time that the processor's temperature is above the Tcontrol threshold (note: short duration excursions -- spikes -- above the Tcontrol threshold are ok).
Hope this helps,
The smaller M9i when running a hard stress test isn't going to give you the best temperatures - obviously. As you stated you are ok when gaming the issue is when you are running a stress test, and with that you are at 4.7 GHZ constantly? With that particular unit personally I would run nothing more than stock clocks. Varying your Fan profiles from within the bios may help some yes, but getter a better CPU air cooling unit will help out a lot more especially if you're overclocking. Moreover, if you are going to be around 4.7-4.8 GHZ constantly I would suggest something like an H100-115 AIO.