It seems to me that people had different levels of expectations for BASIC and Pascal.
BASIC was a teaching language. Yeah, people pushed it to write production systems, but it was still a jumped-up teaching language, and everybody knew it. People did serious work with it, but it was still a "toy" language. If you had a serious program written in BASIC, it wasn't expected to be portable.
Pascal started as a teaching language, too, but it got taken more as a "serious" language. (To be fair, it did have far better control constructs than BASIC...) It got hyped as a "serious" language. But it wasn't able to reach the bar set by those expectations, for the reasons you state.
Could you have written the same applications in Pascal that were written in BASIC? Almost certainly. Would you have been better off doing so? Definitely.
Maybe the difference was, BASIC was more approachable - it was something a 10-year-old could tinker with. Pascal was more a thing that college kids could tinker with. So Pascal had higher expectations. The same kind of limitations were more a violation of the expectations.