Many thanks Hypetia for the followup. I tried
Dim D As Date
D = DateSerial(3, 2, 1) 'always Feb 2, 2003
But it does change its output against local settings.
I can only set English(United Kingdom) or English(United States) settings on my pc, probably software related?.
Anyway, I do find I can do what I like to the local settings and it does not change Format(Date, "DD/MM/YYYY"), alsways returns a predicted output.
Therefore I am going to use:
date1 = "01-04-2004"
date2 = Format(Date, "DD/MM/YYYY")
keeping them as strings, split them up and compare Month and Year set/check expiry date limits.
Thanks again.