According to HTC, they'd need to rewrite the phones internal partitions to get the update to work meaning it would result in a loss of user data for anyone who installed it.
This is pure speculation on my part btw. From memory, a Sense based, GB ROM on the DHD is circa 380-400MB and that's after the dev has stripped all the unneeded bloatware and whatever out of it. A Sense based, ICS ROM for the One X is 580(Ish)MB. If you assume the size will be there or there abouts for an ICS ROM for the DHD, you're left with little to no space left on the System partition (which I think is about 575MB). Logically, you would re-appropriate that space from the userdata partition meaning you'd lose some/all of the data on there (apps, settings, save game progress/whatever).
Yes, HTC could strip some of Sense out to make it installable on the DHD, but they're not going to do that because the vast majority of users (I'm talking the general public that don't sign up to forums like AF/XDA etc) like Sense and would probably whinge that features they liked Pre-ICS were no longer there. HTC also think Sense is the greatest thing to happen to Android.
Is it HTC's fault? Yes & No. On release, circa 600MB on a system partition was ample space for anything they could throw at it. There is no way they could have known ICS was going to be the massive step up that it was and would need so much space. However, they shouldn't have opened their mouths and said they were going to update before they 100% knew the DHD could take it.
As for the Desire C, it was designed to take ICS, the DHD wasn't.