With that board, you are doing well to get as far as 320! According to Gigabyte, they see 1066 (266) FSB as the maximum rated speed, and the Rev 3.3 version of that board considers 1066 (266) as an overclock as it is!
The 945 chipset was only made with a 266 FSB in mind. AsRock made some tweaks with their ConRoe 1333-667 945-based board to get a stable 333, but that is with the PCI-E bus overclocked by a fair margin so not quite ideal. The Bus/RAM dividers give up at over 266, and you have to make do with what you have.
If you were to try a different chip, you could have some luck with the E2xxxx/4xxx series of CPU. They run with a far higher multiplier, due to them only being a 200 FSB, so you have more headroom FSB-wise. Bear in mind though, you may have to do a BSEL mod (Google is your friend here..) in order to reach a default 266FSB (which will set memory/bus speed dividers up nicely for the next step..) and you are still voltage limited due to your board not supporting manual voltage.
So if your E2/E4 craps out at, say 275FSB (which on an E4300 still gives you 2.75Ghz), you're stuck with attempting to raise the CPU speed any higher unless you are prepared to do some further pin mods (bit trickier than a BSEL mod due to the location of the pins you need to bridge) on the CPU itself in order to raise the default voltage.
However, and here's the crunch, you won't get much change from your £100. An E4600 (200FSB, 2.4Ghz core speed, 2Mb cache) will set you back around £90 and, if you don't have much luck with the overclock, you're not getting *that* much of an increase over what you are running at the moment.
Finally, a decent overclock, even with voltage modification is not guaranteed with *any* CPU. Ok, some have a better rep than others, but it's not set in stone...
A friend of mine bought an E4500 and ASUS P5K-VM board in the hope of getting some scary core speeds out of it. Every man and his dog appears to be able to get these north of 3Ghz, according to some forums, and yet he is struggling, even with heroic voltages, to get above 2.6Ghz (default 2.2Ghz), whereas my lowly 1.8Ghz E2160 runs happily, if a bit warmly on a standard cooler, at 333FSB which gives me 3Ghz. (I keep it at 300FSB, 2.71Ghz at the moment until I can get around to buying a better CPU cooler). Upon further forum-trawling, we found quite a few posts from people having similar issues, buying an E4500 in the hope of getting an instant 3Ghz+, and having to settle for 2.xxxGhz as the CPU just ran out of steam.
It's not his board or RAM that is holding him back, as we tried dropping my E2160 into his board and it fired up happily, and ran stable at default voltage for a good few hours at 3.2Ghz. Could have tried for even higher, given the default voltage, but time was short and I wanted my CPU back!
Personally, in your situation, I would try a better motherboard first, see how far that E6300 of yours will really go. It'll be a bit cheaper at first, give you a platform to upgrade further into the future (quad-cores are getting more and more affordable at the moment), and then, if you do upgrade your CPU later on, you can build a cheapy 2nd system out of the bits. Jobs a goodun!
So, there you are. A bit of a black art sometimes, but good fun nonetheless if you don't mind a few potential headaches along the way.
<fx: sits back, makes rollup, rests fingers, drinks tea>