aber warum machst du es so kompliziert?
so wie ich verstanden habe, steht in #_rest die Stunden und in #_rem die Minuten. Das soll alles in d_zbb mit dem Format hh:mm geschrieben werden. Deine Lösung klappt für Uhrzeiten mit einstelligen Werten wie 08:02, aber was ist mit beispielsweise 16:12 Uhr?

Hier mein Vorschlag:
definiere zwei zusätzliche 2stellige Alphafelder für die Stunden und Minuten, hier d_zbb_hh und d_zbb_mm und dann:
1. schreibe die Stunden in das Feld d_zbb_hh, setze ggf. Vornullen
evalR d_zbb_hh = %char(#_rest);

d_zbb_hh = %xlate(' ':'0':d_zbb_hh);

2. schreibe die Minuten in das Feld d_zbb_mm, setze ggf. Vornullen
evalR d_zbb_mm = %char(#_rem);
d_zbb_mm = %xlate(' ':'0':d_zbb_mm);

3. schreibe die Stunden in das Feld d_zbb, setze : und schreibe die Minuten
d_zbb = d_zbb_hh + ':' + d_zbb_mm;


oder so ohne zusätzliche Variablen:
evalR d_zbb = %char(#_rem);
evalR %subst(d_zbb:1:3) = %char(#_rest) + ':';
d_zbb = %xlate(' ':'0':d_zbb);


Der Quellcode funktioniert dann nicht nur für die Uhrzeit 08:02, wie dein Quellcode, sondern auch für Stunden und Minuten mit jeweils 2 Stellen.