I have the latest directx. However, I am installing an older game and it asks it I would like to install Directx 6.1
Should I allow the install program to do that?
Short answer: Yes, It's fine to install it. If the game requires that version of the library, it won't run (properly) without it.
Frameworks like DirectX, OpenGL etc are (basically) just collections of common functions i.e. things which every program needs to do, but don't need to be reinvented/rewritten every time you write a new program. DirectX for example, is a collection of application programming interfaces (APIs) for handling tasks related to multimedia, especially game programming and video.
Of course, being programs & libraries themselves, they get updated regularly with bug fixes, new features, improvements to the performance of older functions, and sometimes (especially major updates) a restructuring and rebuilding of the entire package itself.
What this means is that sometimes when older programs attempt to access features in the newer frameworks, those features aren't there. They've either been moved, renamed, or changed drastically so that the result is not what the program was expecting.
For example, say a game relied on a function:
which takes an object, and a Point, representing the pixel coordinates (x,y) for the object.
But an update to the framework comes out, the above method is removed and replaced by:
Our game doesn't know about
So in order for a development company to upgrade a program to a newer framework, they would need to:
And all of this would provide little benefit to the end users:
*Except performance or the ability to run on newer/different OSs & platforms, which would be the major justification for doing this.
So yes, if a program requires a certain version of a framework, it would be best to install that version. Luckly these days this is usually handled for you when you run the installer.
If the game comes from a reliable source then I would allow it. It's possible that the latest direct x (11I think) is not backwards compatible with the api for direct x 6 in which case it would be perfectly fine to have both if you need both.
I would disallow it because it won't work. You say you run the latest DirectX. The latest is DirectX 11, which is supported only on Windows Vista and newer. DirectX 6 is only supported on pre-NT OSes (95, 98, ME).