I encountered similar DXDIAG behavior when i run it on 486 computer. In my case, CS:EIP points to this code:
From which it follows that everything stops at instruction RDTSC, which is not supported by the 486 processor. However, i managed to run DXDIAG on 80486 with a dirty hack - in the DXDIAG.EXE file, I replaced bytes 0fh 31h everywhere with bytes 90h 90h (replace RTDSC opcodes by NOP opcodes). So, after that DXDIAG started, but incorrectly determined the frequency of the processor on SysInfo tab. The rotating cube works fine.