I think you just stumbled uppon the http://msdn.microsoft.com/en-us/library/aa384187.aspx
The %windir%\System32 directory is reserved for 64-bit applications. Most DLL file names were not >changed when 64-bit versions of the DLLs were created, so 32-bit versions of the DLLs are stored in a >different directory. WOW64 hides this difference by using a file system redirector.
What happens is that your launch request (from a 32-bit process) is being redirected to %windir%\SysWOW64\sysprep\sysprep.exe
. Since there's no 32-bit version of this particular executable on SysWOW64 the launch fails.
The easiest way to bypass this problem is using reference to %windir%\SysNative\sysprep\sysprep.exe
instead of %windir%\System32\sysprep\sysprep.exe
which is what you have.