I think you have a condition where the order you set the min and max affects what the values can be.
You start with 2.11 and 2.17. Then you set it to be 2.62 min and 2.69 max. Well 2.62 min executes first, but that can't be the minimum because it is more than the max still defined as 2.17. So it limits it to 2.17. Then the 2.69 can be set to max without a problem.
Going the other way you do not have a problem. You are at 2.17 and 2.69. You set the min first to 2.11. OK. Then set the max to 2.17. Still no problem. If you happened to be writing to the max value first, then you probably would have a problem.
I would recommend that before setting the min and max with your final values, you temporarily set them to a much wider range such as 0 and 5. Then when you write the new min and max values, they will both be withing the much wider range and they won't limit each other based on the previous min/max settings.