i dont use any mods, i installed direct x 9 because older games require it. windows vista can run both direct x 9 and 10(or 11) at the same time natively.
No it cannot. It can only run DirectX 10 and higher natively. These include full backwards compatibility with versions before 10 specifically to address old programs. Out of that it should be noted that there are 3 versions of Direct 3D supported. From wiki these are...
Direct3D 9: emulates Direct3D 9 behavior as it was on Windows XP. Details and advantages of Vista's Windows Display Driver Model are hidden from the application if WDDM drivers are installed. This is the only API available if there are only XP graphic drivers (XDDM) installed, after an upgrade to Vista for example.
Direct3D 9Ex (known internally during Windows Vista development as 9.0L or 9.L): allows full access to the new capabilities of WDDM (if WDDM drivers are installed) while maintaining compatibility for existing Direct3D applications. The Windows Aero user interface relies on D3D 9Ex.
Direct3D 10: Designed around the new driver model in Windows Vista and featuring a number of improvements to rendering capabilities and flexibility, including Shader Model 4.
When you have proper Vista compatibile drivers installed there will be 2 main Direct3D parts.
Direct3D 9Ex (Direct3D 9L) which provides legacy support for all DirectX version prior (before) DirectX 10. Used with legacy hardware.
Direct3D 10 (now some version of Direct3D 11) for modern hardware.
There was an incremental update for Direct3D 9 after Vista was released so the updater will also update 9Ex with new files to allow some old (were new back then) games to run.
There is also a chance that not all components of legacy DirectX versions were included, probably because they were intended to be installed on a required basis. To fix this install the SDK version which includes absolutely every DirectX file, including debug only components. Many emulators need this to work as they are in the development phase or do not have proper installation processes.
Under no circumstance should you be touching any installer for DirectX next to those provided by windows update as part of service packs or updates. All such installers were aimed at versions of windows prior to Vista and so might not be compatible and even damage the operating system installation. Especially those found on legacy game discs. Updaters which include missing components or incremental DirectX updates can be touched but those should be downloaded directly from Microsoft.
i cant however diagnose direct x 9 by running dxdiag so is there a way to access direct x 9 through that?
That is because you are using a newer version of DirectX. There can only ever be one version of DirectX installed at a time and that is mostly fully backwards compatible with previous versions (updates add content only).