Warum wird eigentlich immer der selbe Mist erzählt?
"SQL selber interessiert das Datums-Format nicht. Das Datums-Format wird nur zur Anzeige der Scallinger Nummer benötigt, wofür das Job-Format herangezogen wird."
Du musst unterscheiden zwischen der Datenbank, die ein Datum/Zeit/Zeitmarke in einer internen Form speichert.
SQL ist aber die Schnittstelle zwischen Datenbank und Programm (auch STRSQL ist ein Programm).
Hier ist sehr wohl das Datumformat wichtig, damit ein Programm mit dieser Art Information umgehen kann.
Ich habe dir schon mal die Frage gestellt, wie ich dann SQL-technisch diese "Scallinger Nummer" abfragen oder auch setzen kann. Bisher bist du mir da die Antwort schuldig geblieben.
SQL akzepiert für ein Datumsfeld auschließlich ein gültiges Datum in einem Datumsformat.

Per "set option datfmt = *EUR" werden die internen Hostvariablen, da hast du Recht, in *EUR definiert.
Somit übergibt SQL ein Datum in EUR.
Die RPG-Runtime konvertiert dann das Datum in das Zielformat, dass dann durchaus abweichend sein kann und bei z.B. *DMY durchaus Laufzeitfehler auslösen kann.

Und sicherlich kann ich in SQL ein Datum in beliebige andere Formate konvertieren:
char(mydate, *iso | *usa | *jis)
Was fehlt sind halt Formate wie DMY, aber da kann ich dann auch in SQL eigene Konvertierungen machen in dem ich die Extractfunktionen YEAR(), MONTH(), DAY() verwende und das Datum anders zusammenschuster.

Immerhin widersprichts du dir da selber:
"Mit EXEC SQL wird nur bestimmt in welchem Format die zusätzlichen Hilfsvariablen für embedded SQL definiert werden."
"Wird allerdings von SQL ein Datum als Parameter übertragen, erfolgt die Übergabe via Reference und wird als ISO-Format interpretiert."
Wenn du dir die Spoolauflösung ansiehts, so wird in der ersten Ebene das definierte Format an SQL übergeben. Dass letztendlich dann die Datenbankebene (hinter SQL) in die interne Form umwandelt ist ja selbst verständlich.
Denn schließlich wird mit auch beim DSPPFM das Datum in Klartext angezeigt.

Definierst du in den Options *EUR musst du in Hostvariablen (also Parametern) natürlich ein Datum in *EUR übergeben. Wobei dies nun durch die RPG-Runtime aufgelöst wird, denn schließlich ist die automatische Hostvariable ja mit *EUR definiert und der RPG-Move/Eval ruft dann die Konvertierung auf. Das hat wiederum nichts mit SQL zu tun.