BASIC is not harmful its perfectly fine programming language and very popular for hobby and professional projects. VB .NET is a modern incarnation that is more than capable handling the most complex projects.
GOTO can be harmful but it rarely is. The reason why GOTO is harmful is that using a line number as a point of execution is prone to errors that are very difficult to spot. In practice its very easy to spot with a debugger , because a debugger will take you step by step and it will immediately become apparent that you used the wrong GOTO. Also modern versions of languages do not use GOTO and If I remember correctly even modern of versions of BASIC have removed it as a feature.
It was not BASIC that raised the hysteria with GOTO fear , it was mostly C. In BASIC GOTO rarely became an issue because its very easy to spot in a typical BASIC program which spanned at best a few hundrend lines of code. Using BASIC back then in large project was very hard because as an interpreted language it was very slow and that meant a huge deal for a typical CPU running at 0.004 GHz.
But C thought a great idea to add GOTO, desperately trying to convince its coders is a portable assembler, it only managed to gain very bad reputation because using GOTO on a large code base is asking for trouble. There was an article that heavily criticized GOTO, for very good reason, then hysteria against GOTO that even the original author of the article admitted that his article was taken out of proportion by the GOTO critics.
Even in modern Assembly , the language GOTO originates from, is rarely used in its numeric format and instead it uses labels very similarly to how a function call works.
The evil laugh you hear in the background is GOTO that is so happy coders believe that can get rid of it so easily, in reality a function call can be not as dangerous, but dangerous enough. Wrong function calls are very common in coding but rarely an issue because like GOTO are easily to spot with the help of a debugger but unlike GOTO much less likely to happen.
In reality we can write books of the dangers of bad coding practices without mentioning GOTO. Chapter 1 is always reserved for global variables that are a huge pain to debug even with the most powerful debugger. That is the real enemy, together with short function and variable names and lack of comments.