I'm not quite sure I understand your question exactly, but perhaps this will help...
Let's assume your LUIS model has an intent called Bet Count and it expects at least the following two entities to be found in a query: Team and Date. As long as the syntactic structure of the user's query is matched to that of Bet Count LUIS will return appropriate results. However, that's not to say the entities captured will be worthwhile. Consider the following user query:
How many bets were placed on Bananas in 2015?
In this case, LUIS has no problem identifying the intent of the query to be Bet Count and it will return 2015 as the date and Bananas as the team. It's up to your application to determine whether or not Bananas is a legitimate team name.
Finally, I have never used any of the bot framework SDK but in reading the documentation it appears that you might be able to make use of FormFlow.
Edit.......................................................................................................................
For the latter part of your question:
Should the bot have problems understanding what I mean I would like the bot to prompt me to say "Sorry I didn't understand you" etc etc and then the user re-writes the query to a more appropriate format until such time as it get the query in the right format.
LUIS models by default include a None intent that is used when a query cannot be mapped to a specific intent (you should be seeding it with queries as you train your model). It's important to note that in such cases the intents key in the JSON response (obtained by calling the LuisClient instance's raw_query method) will point to an empty list; it does not contain a dictionary for the None intent as you may expect.
By checking if this list is empty or not, you can easily determine if the query was understood by LUIS.