Get MSI Afterburner going. Set up the OSD server so that you can see your GPU usage (%

. Play the game and when it drops to 40FPS, take a look at the usage. If the usage is at more than 98% (98 - 100 generally represents full load) your 460 will most likely be the bottleneck. If it's less than 98%, the processor is probably the bottleneck.
CPU at fault.
I haven't played the game so if the processor turns out to be the bottleneck, make sure it's clocking up to 3.4GHz. If it is clocking up, take a look at some comparable benchmarks correlating resolutions and the res that you play at. After that, if it's not to par, I can't think of anything.
GPU at fault.
Make sure the GPU is clocking up to 700ish MHz on the core (can't remember what the 460 should be at but that's close). You can see this through MSI Afterburner also. If it's not, uninstall the drivers and try a newer or different version. May have something to do with the GPU bios or heat if that fails.
After that.
Any patches for the game? Is there a multi-threaded option within the game that isn't checked? Using the task manager you can find the CPU use percentage. Most games use two threads today so if it's stuck at 25% and the game should be using more than 1 thread, it may need a patch or an option clicked. The only engine I have seen to allow you to choose is Source though.
There have been some oddities with the AMD Dual Core Optimizer, so if the game uses that you may want to look into that also.
Most likely from the sound of your explanation, it is a CPU bottleneck. If the CPU is clocking up while you are in game and your GPU isn't the bottleneck, it's the game engine or developer at fault. It's most likely un-optimized or uses one thread. I've seen a lot of CPU bottlenecking with my PII 955 on games whilst the processor usage sitting at 25 or 50%. I can't see games like these using more than 2 threads. You
could get an i5/i7 to get better performance per core but who wants to do that when your CPU isn't even being used fully?

Hope I helped a bit.