Wie Birgitta schon ausführte, die SQL-Funktion selber interessiert sich für kein Datumformat, da der Inhalt immer vom Typ DATE ist.
Entscheidend ist hier das Datumformat deiner Programme!

Wenn du in RPGLE als DATFMT kein EUR oder ISO verwendest sondern normal YMD oder DMY, kann dein RPG nur den eingeschränkten Datenbereich.
Der Fehler passier dann nicht unbeding im SQL-Bereich.

Es nützt also nichts, wenn du per "set option datfmt=*ISO" verwendest, dein RPG aber nur mit 6-stelligem Datum arbeitet. Die SQL-Variablen werden korrekt definiert (10-stellig), allerdings wird vom Precompiler ja eine Zuweisung "MyRpgDate = SQLnnnn;" generiert und da bekommst du dann einen Fehler.

Du kannst es ganz einfach auch mit STRSQL ausprobieren.
Setze per F13 ein Format wie DMY dann siehst die die Ausgabe als ++++++.
Setze *ISO oder *EUR dann kommt das Format korrekt.