OK, I see that the macro uses -- instead of - to range the control variables, so the selection does depend on the order of the variables in the data set. Here is the log from running %vmatch(dist=tr, idca=key, a=1, b=4, lilm=12574, n=3069, firstco=&start, lastco=&end, print=n, out=result_optnet) with PROC OPTNET:
NOTE: ------------------------------------------------------------------------------------------------
NOTE: Running OPTNET version 13.1.
NOTE: ------------------------------------------------------------------------------------------------
NOTE: The number of columns in the input matrix is 12574.
NOTE: The number of rows in the input matrix is 12276.
NOTE: Data input used 1.83 (cpu: 1.82) seconds.
NOTE: ------------------------------------------------------------------------------------------------
NOTE: Processing the linear assignment problem.
NOTE: The linear assignment problem is infeasible (3436 rows are unassigned).
NOTE: The minimum cost partial linear assignment is 3682.8496594.
NOTE: Processing the linear assignment problem used 6.82 (cpu: 6.82) seconds.
NOTE: ------------------------------------------------------------------------------------------------
NOTE: The output data set contains a partial linear assignment.
NOTE: Data output used 0.67 (cpu: 0.67) seconds.
NOTE: ------------------------------------------------------------------------------------------------
NOTE: The data set WORK.__OUTT has 8840 observations and 3 variables.
NOTE: PROCEDURE OPTNET used (Total process time):
real time 9.85 seconds
cpu time 9.59 seconds
New result_optnet is attached.