Dadurch, dass die Textkonstante keine Zeilen/Spalten-Info hat, bekommt der Compiler keine Info über ein neues Feld, so dass die POSITION danach auf das Feld vorher bezogen wird.

Du kannst auch jede Konstante in ein eigenes Satzformat packen, dann könnte es ggf. klappen.

Aber was hast du gegen MSGCON ?
Vereinfacht doch die Generierung mehrsprachiger Umgebungen.