I think VB does build bad practices.

Firstly, it doesn't get programmers used to the idea that programs execute "one thing at a time". This is because the event model is counter-intuitive to how computers really work.

Secondly, in VB it is very difficult to see your whole program in one go - and even then, there are "things" happening "behind your back" which aren't obvious - event firing order, and other event-based things.

Thirdly, it makes new programmers think that programming is all about "dropping" "controls" on to a "form", which it isn't really, let's face it.

Now of course any experienced programmer knows that these facets of VB are just there to try to make GUI design easier, and don't actually affect the underlying way things work, but it will confuse the newbie a lot.