Hi,
After looking at the code, I understand now that the lexical_comparison decision method does not compare the replacements by their actual objective values lexicographically but instead by what floored multiple of the bin size their objective is. Thus, with a bigger bin size (influenced by a larger ObjData parameter), more replacements' objective is a multiple of the bin size that only differs by some decimals and thus are considered equal in this comparison (since the decimals get lost in the flooring operation). Therefore, all replacements whose objective varies within one bin size are grouped concerning that objective before applying the lexicographic comparison. By default, this grouping is not done to the last defined objective. I guess this is to reduce the number of replacements ranked equally by this decision method.
On a side note, the comparison does start with Objective 1. So, if one wants the lexical_comparison to compare each objective in order and only consider the second one if the first objective is identical for multiple technologies, one must choose the ObjData1 parameter to be very small. The same applies to the second objective.