MKLNK seems to set %_? to zero even in the face of errors. I could test this issue on an XP machine as I don't have a newer OS with me at the moment. Rex, if you do think this is an actual bug would you please roll a fix for TCCLE, too? I can reproduce on TCMD 16.00.43 and TCCLE 13.06.77.
Code:
TCC 16.00.43 Windows XP [Version 5.1.2600]
Copyright 2014 JP Software Inc. All Rights Reserved
Active code page: 1252
C:\>mkdir c:\temp\target & dir /k/m c:\temp\target
23/03/2014 9:18 <DIR> .
23/03/2014 9:18 <DIR> ..
C:\>mklnk c:\temp\target c:\temp\link & echo %_? %?
C:\temp\link -> C:\temp\target
0 0
C:\>mklnk c:\temp\target-NOT-THERE c:\temp\link & echo %_? %?
TCC: (Sys) The system cannot find the file specified.
"C:\temp\target-NOT-THERE"
0 0
C:\>