Das Problem ist, dass die Funktion Date nur ein 10-stelliges Datum korrekt formatieren kann. Du musst das Datum in SQL also formatieren, dabei ist ein besonderes Problem, dass du nur 6 Stellen hast:

date(
case
when substr(digits(mydate), 5, 2) < '40' then '20' else '19'
end
concat substr(digits(mydate), 5, 2)
concat '-'
concat substr(digits(mydate), 3, 2)
concat '-'
concat substr(digits(mydate), 1, 2)
)

digits(mydate) liefert ein 6-Stellige Zeichenfolge, also mit führender 0.
Mit dem Ausdruck in date(...) formatierst du ein ISO-Datum in der Form 'JJJJ-MM-TT', dass von date() korrekt in ein Datum umgewandelt werden kann.

MS-Query musst du dann allerdings in der SQL-Sicht bearbeiten.