Thanks for taking the time to answer the question and for your feedback.
I'd like to explain the reasoning behind this question. There were several things that I wanted to highlight with this.
Firstly I wanted to demonstrate that queries that are semantically identical in English are not so in SQL. Whereas 'Date between Date1 and Date2' and 'Date between Date2 and Date1' mean the same thing in English, they are different when translated into SQL. It also demonstartes some of the conversions that occur from the parser.
This is similar to a situation I ran into a while back and I overlooked the above construct as I didn't initially see anything wrong with the BETWEEN clause. This resulted in a lot of wasted time and beard stroking trying to debug the procedure in question. It was a lesson learnt into how higher level constructs are parsed into lower level constructs.
There was an element of trickery in the question, however I feel that for people to get maximum benefit from the question, then they needed to get it wrong. This would force the person answering to question their assumptions about what was actually happening. I may however be wrong 😉
I'm hoping that people learnt something though.