Perhaps I did not make myself very clear.
Of course you can take a definition and pretend that that is how everything "is supposed to work". But I am pretty sure you wouldn't want the meanings of AND and OR reversed, or ORDER BY and GROUP BY, regardless of how well documented and defined that would be in Books Online.
What this shows is that there is something more to a computer language than a set of arbitrary definitions: it needs to align with the a priori expectations of most developers and have a high level of consistency. At least that how I like my languages and what most languages are like.
But I think that BETWEEN as a language feature does not quite meet those criteria, or this would not be "Question of the Day" and we would not be having this discussion. Since it also does not provide a lot of benefit (unless the expression to check is very long), my choice is to avoid it and try to use more unambiguous alternatives.
my concern is with the start expr with the higher value and then put lower value to the end expr and I don't see any practical case where and how it is used to make the code work
Variable bounds? I would argue that constant bounds is something you would rarely see in a practical case.
In fact, I would be much more likely to use BETWEEN if it wouldn't care in which order the bounds are because then there would be a much more significant benefit against the cost of learning that other arbitrary detail.