Die problemorientierte Diskussion ist mir hier nicht zielführend.
Am Ende fühlt sich der User überfordert mit all den Problemen und was man alles falsch machen kann und keinem ist geholfen.

Das ist das gleiche wie: Keine Business Logik in SQL. Wir hatten ja schon mal das Thema.
Ich kann ja auch RPG Prozeduren als SQL Funktionen oder SQL Prozeduren verwenden.
Es hängt also nicht von der Sprache oder der Objekt-Art ab, sondern wofür es ist.
Das Design sollte entsprechend dem Einsatzgebiet definiert werden.

Um hier einen lösungsorientiert Vorschlag zu bringen:
Schreib das ganze einfach in einer SQL Prozedur, dann gibt es keine "unabsichtliche Verwendung" in einer WHERE.
Die SQL Prozedur kannst du dann trotzdem in einer SQL Funktion einbauen, wenn es wirklich für den IWS nötig ist.
Sollte diese Funktion dann trotzdem jemand in einer WHERE verwenden, dann habt ihr sowieso ein ganz anderes Problem mit diesem Entwickler ;-)