Couple of things here....
1) If you don't need the time portion of the created date, remove it. Just because you have formatted it as Date(), doesn't mean the time portion is removed, use Floor() to remove it.
Date(Floor([created date]), 'DD/MM/YYYY') as [created date]
2) Try using it like this:
vstartdate = Num(Today() -20);
Where [created date] = $(vstartdate)
But your existing should also work, but I prefer using Num(), instead of date in where clause.