I was just whistling in the dark with my suggestion. I encountered some E5530’s where I got no samples from CPU_CLK_UNHALTED and INST_RETIRED events, but their programmable _P variants worked correctly. I thought you might have had a similar problem, but I guess not.
As far as I can tell, Nehalems have 2 fixed counters for CPU_CLK_UNHALTED and INST_RETIRED and 4 programmable counters. Specifying CPU_CLK_UNHALTED_P or INST_RETIRED_P configures the programmable counters. My ancient OProfile 0.9.3 does not list CPU_CLK_UNHALTED_P either; OProfile may not expose or support these events. I’ve been using VTune or PTU for Intel processors.