A known issue and it has been reported. The problem with all decouple driver commands is that the identity and number of wagons in the consist to be decoupled will not always be known when the command is added to the driver command list in the Driver Setup Rule. For example: a consist starts out as a short string of goods wagons, then picks up additional wagons left by other AI trains at various points, some of those additional wagons may vary according to random variables, etc. So when it come time to drop off some of the wagons with a decouple command it is possible that the wagons in the consist may be different from what you originally expected.
The Decouple command works when used in Driver Mode but not in Surveyor mode.
There are alternative commands, such as Decouple DLX and UncouplezFrom, that will work in the Driver Setup Rule but using the wagon number only (e.g. No 17 not its set name). See the Trainz Wiki page
http://online.ts2009.com/mediaWiki/index.php/Driver_Commands_List#Train_Operation_Commands for more details.