Have you tried enabling all cores, then setting 3 CU's to low frequency (~300mhz), instead of disabling the cores.
What I usually do is create 3 P-states.
P0: state for CPU-Z valid
P1: state for idle (~ 400 mhz under P0)
P4: state for low cores
Assign P4 state to all the shit cores (so they will be at the lowest power consumption), set P1 to the best core and do all the tweaks/apps, then take best core to P4. Wait a minute or so (to drop the temperature), then switch to P0 for validation.
It also works for SuperPI. Waiting at low clock to reduce temp and them upclock for bench. You can also assign explorer.exe to specific cores (the shit ones) so when you open an application, it will automatically select another core than the one you're pushing.