I'd advise against that. DX is not supposed to be distributed piecemeal like that. This is stemming from something other than what it appears, and that is the big hammer method, and not at all in keeping with MS's intent.
I have not installed GDK on my development machine, but I am going to do that this week, and see what the deal is, but...
...DirectX is a holistic system, and also you can cause issues if you have a portion loaded from your application, and another application uses the installed version, which references the same DLL. This is exactly what MS wants to avoid by making DX a complete system.
EDIT: In fact, the issue is most likely that they have DirectX 9.0C from an earlier date. It will still say its DirectX 9.0C, but it will still be incorrect. It must be the DirectX 9.0C from August 2007, and no other. (Or, so it would appear.)
Here are mine for April 2007:
I just downloaded and installed the DX SDK Aug 2007, and I installed the latest version of the runtimes. The only difference that I can see using dxdiag is that now I have managed DX code installed, as well.
This is a link for the latest DirectX redistributables, and it is what would provide to your users:
http://www.microsoft.com/downloads/details.aspx?FamilyId=740AC79A-5B72-447D-84F9-EE6407ED1A91&displaylang=en