what you need to do is make sure that after you do calculations with a date is that you wrap it in a Date() function to convert it back to date from the numerical basic date that you get after a calculation.
So for example in your script instead of doing:
text(num(MonthStart(Date($(vMinDate) + RecNo() - 1)))) AS [Date],
you should do something like this:
Date(MonthStart($(vMinDate) + RecNo() - 1), 'DD/MM/YYYY) AS [Date]