Wie du schreibst sind deine Datumsfelder 9stellig und haben eine führende 0. Ihr Format ist also 0YYYYMMTT. Das Jahr beginnt somit an Stelle 2, der Monat an Stelle 6 und der Tag an Stelle 8. Nimm' also besser:

date(
substr(digits(mydate), 2, 4) || '-' ||
substr(digits(mydate), 6, 2) || '-' ||
substr(digits(mydate), 8, 2))