As for why Teradata SQL Assistant permits the use of SET QUERY_BAND ... FOR SESSION within a multi-statement request, perhaps either the Teradata ODBC Driver or Teradata SQL Assistant is splitting up the request and submitting the commands individually.
In contrast, the Teradata JDBC Driver does not alter the SQL request text submitted by the application.
Thanks a lot Tom, I highly appreciate your descriptive explanation and looking into the matter.
I, on the other hand cannot call the transaction commit right after executing the query band SQL because currently I could only tweak my externally exposed SQL and connection URL. Therefore I tried auto-commit but that also didn't work because currently my only bet to turn on auto-commit was to change the jdbc connection URL to TMODE=ANSI and pray that my query wasn't already within a BT, but unfortunately it was and I got this: Only a COMMIT WORK or null statement is legal after a DDL Statement.
I don't think I have any other way out of this other than making code changes. If you think otherwise, please let me know.