una parte del mistero e' stata risolta, il carattere di escape va raddoppiato .... ed anche la specifica del sistema di comparazione e' non adatta (puo' essere tolta e cosi' va' benino).
quindi non piu':
percorso=replace(dialog.path," ","\ ", gb.text)
ma:
percorso=replace(dialog.path," ","\\ ")
in questo modo il percorso e' corretto (per l'esecuzione in shell).
Purtroppo pero' questo metodo non funziona se il comando e' eseguito internamente al codice gambas tipo:
exec ["mp3info","-p","%n",percorso] to soutput
..... cosa che funziona se invece non ci sono spazi nella path (e quindi il replace non e' intervenuto).