If you don’t have a DirectX 9 directory, then how do think you are running Trainz?
Obviously using DX10.
Trainz will run without DirectX if you use OpenGL, you should know that.

However here it is working in DirectX as well.
Plus as I'm not running any ancient Trainz software that won't work in DirectX 10 plus, it works.
I did not add DX9c or update it, other than the usual DX10 /11 updates, there are obviously the DX9 emulation files or whatever they use, that come with a Win7 base install there is however no DX9 folder, they are located in System32 along with the rest of the DX files.
It performs no differently than my main Win7 PC which has DirectX 9c.
Using TrainzDiag would infer DX9 is not required in Win7 but is in XP, again obviously as XP does not have DX10.
In Win7 it states DirectX 10 or later.
In XP on a different PC it states DirectX 9c or later.
Also 2009 runs on Linux without any DirectX, obviously it fails TrainzDiag but apart from the lack of Content manager functionality it works far better in OpenGL than it does in Windows or DirectX on the same PC.
Maybe the latest 2009/10 patches have rectified the DX9 problem in Win7 Vista or maybe the latest DirectX 10/11 updates from MS have? Not going to worry about it though as it works.