I'm just speaking theoretical here, because I never used the pdh functions in depth, but ...

Are you working with a localized version of Windows (not English) ?

In that case, what happens to the names of the objects, might they be translated to the lcoalized language too ? I mean "Processor" and "% Processor Time". At least PerfMon shows them to me in my german Windows version with the german names (in the object list ...)