Sorry for the long time before my answer ...
Well. I htink it's not very esay to answer.
Fist, I have never test my soft on a HT processor by myself.
So, I can't really know if the number of CPU detected is correct.
And I don't know how the processes runs when you assign them on the "HT part" of the CPU.
But I think your apporach is good.
HT CPU are not real CPU, but can boost your PC if you assing different processes on the same "CPU+HT".
For the moment, I don't think I can detect that a CPU is a real one or an HT.
A cool function could be an "automatic selection" of CPU+HT when you select CPU, but I don't know how to make it user friendly.
And the big pb : how to detecte is HT is enabled ... or not.
I will think about that for a future version.
Rubik's Addicted !