Buenas de nuevo !
@cogier lo probé al decirmelo y no ha funcionado, de hecho en las propiedades del proyecto se puede generar distintos bytecodes para las diferentes versiones de gambas pero ninguna de ellas ha funcionado. Estuve trasteando pero no parece ser un problema de ese tipo.
Al final, he dado con el "problema" y lo voy a exponer aquí por si le sirve de orientación a alguien más:
La aplicación que tenía hecha grababa un archivo en modo texto que contenía valores numericos y etiquetas en modo texto (y de una sola palabra) con "file.save", iba metiendo todos los valores en una variable tipo string y separaba los valores con un espacio en blanco " ". Al modo de string = string & valor & " " y luego simplemente file.save(destino, string)
Luego, ese mismo archivo lo recuperaba abriendolo con "open" e iba leyendo valor a valor con "input#", de forma que a la vez que leía un valor lo asignaba a su correspondiente campo.
Como he comentado, con la versión que usaba de Gambas no tenía ningún problema, pero por lo que sea Gambas 3.19 no lee los datos correctamente usando input#, de hecho omite datos en la lectura y provocaba que los datos se asignaran mal, lo que provocaba un "out of Bounds" al asignarse a matrices cuya dimensión declarada era inferior y "desbordamiento" porque intentaba seguir leyendo datos una vez alcanzado el "End of File", es como si no estuviera bien sincronizado al leer del archivo y asignarlos a la variable.
La solución que he adoptado de momento es la siguiente:
Usar la función complementaria de file.save, osea, leer el archivo con "file.load" y una vez asignado a un string cualquiera he generado una matriz de valores con la función "split" y he ido asignado cada elemento de la matriz a su correspondiente valor.
Y voila ! funcionó !!!!
Voy a marcar como solucionado el hilo de momento porque seguramente me encontraré más cosillas, pero al menos esto se dónde estaba el problema, aunque desconozco si es algo intencionado en Gambas o un bug.
Gracias por las molestias y un saludo