As far as I know, there is no way to force CPLEX to add the small values first. There are a number of other things you can try.
First, when the objective value decreases after adding a constraint, is the solution the same (same values for all variables) or different? If different, are the gaps in both cases below the threshold for declaring optimality? It's possible that the added constraint led CPLEX to a different path through the search tree, culminating in a different solution. Since CPLEX considers any solution meeting certain convergence criteria "optimal", it could legitimately be the case that the first and second solutions both meet the convergence criteria, and it is just happenstance which you get.
Assuming the decrease in the objective value is too large to excuse, you might try turning on the numerical emphasis parameter. This causes CPLEX to be more finicky in general when doing floating point arithmetic. You might also collect kappa statistics and check the number of unstable or suspicious bases to see if the model has general stability issues.
You can also try tightening the various epsilon parameters (EpsInt, EpsRhs) if you think that either the first or second solution is actually not feasible.
#CPLEXOptimizers#DecisionOptimization