Bueno, lo primero que veo es que el programa toma como unidad de cd la unidad 'D:\', pero eso no es así en todos los ordenadores. Además, eso no detecta si se acaba de introducir un cd. Aunque por el código comentado parece que intentaste algo bueno
El caso es detectar cuándo se introduce un CD, y saber a qué unidad le corresponde (esto es, D, E, F, G, H....). Para eso nuestro desaparecido amigo roman hizo un componente genial. Lo tiene en su página:
http://romansg.net/index.php?pg=delphi_componentes.
Y ya ahí, cuando se introduzca un CD, comprobar si existe el ejecutable (o cualquier otro archivo) y hacer lo que quieras con él
Saludos.