Hola Santiago.
Las directivas de compilación sirven para indicar cómo debe ser generado (
compilado) el programa ejecutable. Una vez obtenido éste, será el mismo programa lo instales en donde lo instales. Si deseas un comportamiento diferente de la aplicación según el sistema operativo donde corra, entonces necesitarás añadir instrucciones que verifiquen en qué
versión de Windows se encuentra y, mediante tradicionales "Ifs", separar las sentencias que deben ser ejecutadas en unas versiones del sistema operativo de las que deben ser ejecutadas en otras.
Una alternativa a lo anterior sería definir un símbolo condicional en las opciones del proyecto (entrada
Conditional defines), sin dejar de usar directivas de compilación
$IfDef. El símbolo lo pondrías o lo quitarías, según desees generar un ejecutable para unas versiones de Windows o para otras.
No ando muy lúcido este día, pero ojalá te haya servido de algo mi intervención.
Un cordial saludo.