I ran the CPUID command and bit 30 was OFF, so, I guess they disabled this function on Extreme Edition processors.
I tried it on a Haswell i7-4770K and it worked fine.
EDIT: Oops, I was looking at wrong register, when setting EAX=1, then issuing CPUID, ECX was returned as x7FBEE3BF on the i7-4960x and bit 30 is on. This means that the i7-4960x DOES support rdrand and there is no explanation for it failing to return a hardware generated random number.
I will try the software forums as suggested.