Ich habe jetzt dein Beispiel in ein SQLRPGLE-Code gepackt, eine entsprechende Tabelle erstellt und befüllt und mal getest.
Das Programm macht das was erwartet wird.

Code:
/Free
 Exec Sql SET OPTION COMMIT=*NONE, CLOSQLCSR=*ENDMOD,
                     ALWBLK=*ALLREAD, ALWCPYDTA=*YES,
                     SRTSEQ=*HEX, DLYPRP=*YES;

 exec  sql update pranlib/t1
          set such = case 1 when 1 then NULL else 'xxx' end
          where nr = 2000;
 *inlr = *on;
 return;
/End-Free
V6R1