Because the chopper is created locally, executing the script from the vehicle creation script (which seems to be what you're doing) will only affect the person the vehicle is created for (as I'm not familiar with the CTI source I don't know who that is). Here's my method for fixing it up.
First, you can modify the vehicle creation script to publicVariable a set pair of variables to broadcast (a) that a new chopper has been created and (b) the name of the chopper. Here's my example for that method.
1. Initialize newChopperMake = false and newChopperName = nil (for the sake of completenes).
2. As the chopper is created, instead of the dust script execution line you posted, use this single line:
?(_unitType == ChopperType): newChopperName = _newVehicle; newChopperMake = true; publicVariable "newChopperName"; publicVariable "newChopperMake"
3. Create a trigger activated by nobody repeatedly with condition:
newChopperMake AND !isNull newChopperName
And this activation:
newChopperMake = false; newChopperName exec "Effects\Duster.sqs"
And it will detect a new chopper being built then act accordingly. You might want to add a benchmark condition to that trigger to save the trouble of checking later, if your dust script uses a benchmark limitation. If you edited the CTI dialog, maybe you could even make a toggle button to switch dust on and off in the player options menu. If you want me to take a look at editing that for you, shoot me a PM, as I'm eager to try more dialog editing. And I'm wondering what other improvements I can make to CTI alongside whatever you're doing.