I'm using a beta of Cyanogenmod 7 and it seems unlikely they would leave out home and search button functionality. I tried rolling back to the RC and then getting the latest nightly and then wiping the data and cache and then getting the latest RC and nightly. But still, when I press Home or Search, the phone vibrates as if I pressed something but doesn't go home or bring up a search box. Thankfully, "back" still works.

Okay, I got CM6 but it gave me the "swirl of death" (Cyanogen screen never went away). So I booted into recovery and wiped the cache and data and then CM6 booted. And my buttons worked! And the phone was snappy! So I went to CM7 RC1 and my home button worked. So then I went to the latest CM7 Nightly and my home button worked! I think it was that I needed to wipe. But I lost all my Angry Birds progress!!!! Nooooo. Gotta find it in a backup. I'm asking that now.
–
tooshelMar 2 '11 at 16:26

This means the provisioning got somehow interrupted; in other words, when you just reinstalled the firmware and the wizard was guiding you through the first steps, something interrupted it and it didn't finish. That's why the Home button, the Search button and the Lock Screen don't work.

To fix this, run the following command from a root terminal or from adb shell: