Use D3DX.
In this particular case, because you are hooking an application already using DirectX 9, using the libraries and resources provided by that version of the API is your best solution. When working with D3D9, using D3DX for the utility functions is perfectly acceptable and recommended practice.
The recommendations apply to software designed for Windows 8. While your software may be intended to work on that platform, hooking into applications that was not imposes significant restrictions. You have to work with what's already in use, and in this case, D3DX is going to be far more compatible than trying to rope in new libraries. In fact, given how many D3D9 and earlier apps use D3DX, there's a good chance it's already in use, and you may be able to just reuse that.
Note that this does not mean the D3DX DLL(s) you need are present; depending on the application, there may only be a single version present, so you may need to provide the DLL(s) or installer.