It seems that if you use a variable, such as %COMSPEC%, in either the FILENAME parameter of the OSD, or in the /EXE override, that in 4.6 SP1 the launch will fail with error 39-00000002.
Turning on verbose debugging, it can be seen that the client now prepends "Q:\" (where Q: is the virtual drive letter) to the front of the command if the command is a variable. This causes a file not found error. This worked with the 4.6 client.
Replacing the variable with a filename works OK. In the case of %COMSPEC% for debugging, use "cmd.exe" and it will be found.
Tim Mangan MVP for App-V and Citrix CTP Author of AppV books: "The Client Book" and "OSD Reference Book" (http://www.tmurgent.com/Books )