With all due respect (and as you're already very aware), the problem can be in one (or more) of several different places. You just have to start at the "bottom" and work your way up.
1. This link honestly seems to be a good troubleshooting guide:
Ubuntu Wireless Troubleshooting Guide
2. You've already done a great deal of this work (at least through step 4, it looks like). I assume step 5 (iwconfig) does *not* work. If not, it might be useful to cut/paste specific error messages you're getting.
3. But you also said:
a) it *used* to work (before you upgraded the kernel)
b) you have the kernel source (good!)
... and ...
c) you're getting many "dmesg" errors like this:
[ 18.268805] b43: disagrees about version of symbol ssb_device_is_enabled
[ 18.268818] b43: Unknown symbol ssb_device_is_enabled
[ 18.269935] b43: Unknown symbol ssb_pmu_set_ldo_paref
[ 18.270454] b43: disagrees about version of symbol ssb_pcicore_dev_irqvecs_enable
4. Fair enough.
So definitely try:
a) Uninstalling your current bt43 driver
b) Updating your kernel headers and/or kernel source (make sure they're in synch with your running kernel)
c) Updating your bt43 driver source (probably OK as-is: but why not double-check)
d) rebuilding the driver (latest/greatest bt43 source with latest/greatest kernel source)
<= *Definitely* cut/paste any errors you encounter!
e) try installing the new driver
<= Again, cut/paste any errors you encounter!
f) See if you can get past step 4) in the Troubleshooting Guide
'Hope that helps .. PSM