DXDiag results are useless unless you run a DirectX game, also DirectX versions above 8.0 seem to poll system info differently vs CPU Z(active CPU status).
.NET generally frequently goes wrong and stops updating or working IME on 2K/XP. Usually quicker to format and re-install then to try and troubleshoot the issue!
That is one reason why any VPC user should maintain a clean backup of their most patched Win2k/XP. .NET failures in my experience are often from a .NET application/Windows crash or rare unexpected VPC crash. Also stability of some .NET products gone out the window during the XP SP2 to SP3 changes, any program which used the Windows IE URL/search widget API on the taskbar(removed in SP3) will break .NET via BSOD/hard freeze(VPC or physical PC). Thankfully the stupid framework issues never impacted Vista.