Für lokale Antworten bestimmt das QueryTimeLimit (CHGQRYA ... QRYTIMLMT) die maximale Antwortzeit.
Wobei hier der Optimizer leider etwas anderes tut als man erwartet.
Das QRYTIMLMT wird ausschließlich beim Open/Execute geprüft, ob die Abfrage ggf. länger dauern könnte.
Dauert die Abfrage dann tatsächlich länger, wartet SQL leider auch länger !

Bei einer entfernten DB ist hier die Art der Verbindung entscheidend.
Ist das Ziel eine AS/400 bestimmt das dortige QRYTIMLMT des dortigen Job's die maximale Antwortzeit, allerdings bezogen auf die DB.
Die Antwortzeit des Datentransfers wird hierbei nicht berücksichtigt !

Solche Sachen löst du dann besser über asynchrone Jobs und z.B. DTAQ's, die du dann per QRCVDTAQ und Timeout bearbeitest.