Il problema da te riscontrato dipende dalla gestione della GUI di Gambas. In genere gli aggiornamenti delle finestre vengono fatti "un po' alla volta" e mai nell'istante esatto in cui vengono richiesti.
Ciò si può facilmente vedere in casi come quello da te descritti oppure ad esempio durante l'esecuzione di complessi calcoli con una ProgressBar che avanza per visualizzare lo stato del processo: in questo caso la finestra si freeza, finendo per essere aggiornata solo al termine dei calcoli.
Per evitare ciò basta mettere, sotto ai comandi che aggiornano elementi grafici quali widget vari o la stessa finestra, un bel
oppure
Il comando WAIT forza Gambas ad eseguire l'aggiornamento della GUI. Un eventuale numero dopo il comando indica invece un'attesa che deve essere minimo pari al valore impostato che esprime il tempo in secondi (quindi 0.1 equivale a 100 ms) e forza, inoltre, Gambas a leggere eventuali tasti premuti dall'utente, a leggere gli spostamenti ed i click del mouse.
Quindi, io metterei:
FForm.Show
WAIT 0.1
SHELL comando WAIT