Meh, I use C for some work stuff, and I use BASIC for enjoyment, so most of my Amiga coding is done in AmiBlitz. It produces executables that are slightly bigger and slightly slower than their C equivalents, but there isn't really anything I can do in C that I can't do in AmiBlitz. Goto and Gosub are strongly discouraged in the Blitz documentation too, with procedures given as a good alternative.
As a kid programming on the BBC Micro and Atari 8-bits, Gosub was never a problem, like people have said, if kids are interested in it, they'll just pick up the concepts naturally, be it Gosub or an abstract procedure. It tends to be adults with their brains more "set" that have difficulty trying to learn these things (and I can tell you I still struggle with pointers sometimes!). So with more modern BASIC dialects, it will be down to the concepts and methods learned rather than the actual keywords. I remember switching between BBC BASIC, C64 BASIC and Atari BASIC, never having problems remembering which code worked where (CLS versus PRINT CHR$(147) versus ? "<Esc>+<Home>" for example... Wow, that's kinda scary
), and some differences, like the example, were quite dramatic. Once the concepts are learned, it won't make much of a difference in what language they were picked up, once the language supports the concepts. And any modern BASIC will.