Hmm, well he may have a overclock somewhere or perhaps his drivers are more up to date then yours are. Nvidia did release new drivers in December so that could effect things. I wouldn't expect to have 60-65 FPS in BF3 with a ULTRA preset. Also he may have adjusted his settings I would say overall you are where you ought to be on ultra.
check that your mb bios has all it patches. with cpu-z and gpu-z check that your ram running in xmp mode and with gpu-z make sure your video card running the max speed (pci bus).
make sure your mb chipset driver is up to date.
Well with a 2500k he is running at 2.0 speeds so no reason to check there he is just fine there. Checking memory speed isn't a bad place to start. But like I said he may have other things tweaked that you don't. You could be running the game with different settings beyond the ultra preset. With that said I agree with checking things to make sure you have your drivers up to date.
It's also possible (though perhaps not likely) that your card is overheating and throttling itself to cope.
But yeah, if you and your friend truly do have identical GPU/CPU, and his rig performs much better than yours, then the most likely explanations are either that he's overclocking, or that something on the software side is holding you back -- whether it's a bad driver or bloatware on your system or your multitasking habits. Or perhaps your settings within the game itself are more different from his than you realize.
I doubt very much that your BIOS is the problem, but it's possible. Likewise, your memory settings probably can't account for the kind of disparity you describe; we're talking about more than a 50% FPS advantage for your buddy, on (supposedly) exactly the same hardware. That's huge.
All of that said, though, 40-45 FPS under the conditions you describe sounds about right for your hardware. Your friend's performance seems to be the outlier here, not yours.