There are a lot of sentiments expressed in this thread from people who (actually like myself) prefer one language over another.
I think we need to take a small step backwards and consider how languages appear to the absolute beginner.
I agree that BASIC is largely an unstructured language (that can teach bad habits), but if it helps an absolute beginner grasp concepts such as variables, constants, looping, decision making, subroutines, etc. it isn't a bad foundation.
My feelings are, if you know these from basic, go on and move to C. If you don't know, then BASIC is an easier language than C for learning these concepts. Then move to C.
It's all too easy for those of us who use languages like C/C++ to forget that at some distant point in the past we also used basic on our Spectrums, C64's and even amigas, so even if we did forget the bad habits of BASIC, it still gave us some advantage when we began with C.