Das waren eigentlich 2 verschiedene Themen im selben Thread.
Unabhängig vom Debuggen, beim Naming *SQL (Default) kann ich ja eine Fuktion qualifiziert mit MYLIB.MYFUNC(...) angeben. Über den Navigator findet er allerdings die Signatur nicht (JDBC) während es über ODBC funktioniert.
Aber letztlich ist mir das erstmal egal.

Warum funktioniert das Debugging nicht, war hier die Frage.
Den Grund habe ich nun herausgefunden:

Der neue Optimizer von V6R1 cached erheblich mehr als früher.
Wenn eine Funktion als "deterministic" definiert ist, speichert sich wohl SQL irgendwo die Parameterwerte und ruft die Funktion nicht mehr auf, da ja das Ergebnis das selbe sein wird.

Dies gilt sogar für ganze Ergebnistabellen.

Wiederhole ich also ein Statement mit F9, erfolgt also gar kein Aufruf meiner Funktion mehr.
Ich habe da mehrer Varianten versucht, sogar mit Job abmelden und neu anmelden.

Erst wenn ich das Statement irgendwie ändere verwirft SQL den Cache und ruft meine Funktion erneut auf.

ALso Leute:
Der Debugger funktioniert nun wieder so wie früher (allerdings immer noch nur per STRSRVJOB).