yeah the draw_text only renders for 1 frame, so you'll need a while(1) loop
or, if it's over a background panel, just init it at startup, then do
...
void text_startup(){
wait(1);
while(1){
if(is(pnl_txt_bg, SHOW)){
draw_text(...);
}
wait(1);
}
then where you were previously writing
set(pnl_txt_bg, SHOW);
set(txt_foo, SHOW);
and
reset(pnl_txt_bg, SHOW);
reset(txt_foo, SHOW);
you'll know only need
set(pnl_txt_bg, SHOW);
and
reset(pnl_txt_bg, SHOW);
hope this helps