I find clockgen usefull for determining the max OC that is windows stable without having to reboot 100 times. Another great tool is Memset, which allows the setting of your RAMs timings in windows.
Concerning the issue with having "software" control your hardware. My solution is to simply set the BIOS after you find the best OC in windows, saving time and effort.
Regarding the Gigabyte Mobo: You need to find the maker of the clock on the board, then find a supporting clockgen program for that chip. This all being dependant of course on if the clockgen data sheet is available, and if a 3rd party takes the time to implement it.
A program I looked at that does this is called CPUcool.
However, you should see if there is a OC utility for your board at its manufacturers site, otherwise troll some forums/google, and see what you come up with.
Good luck