I see very little benefit to Small Basic over Python.
The Small BASIC "IDE" is far better integrated than IDLE, or any other Python IDE; I'd say only PyCharm really approaches it's level of accessibility. One of the reasons I think Logo is a good teaching language- bear in mind I refer to say, second grade or third-grade students - is that Logo is accessible and it provides a symbolic metaphor to understand the concepts in the form of the turtle.
SmallBASIC, nor Python have the symbolism, but SmallBASIC, I think, is more accessible to that level of learning.
Another 'starting language' that I've heard good things about is "Processing".
I don't think the cross-platform argument would ever apply in this scenario. A Learning language is not going to ever benefit widely from being cross-platform except to the vendor to distribute to more systems. A first or second grader using the system will be using it at school and the language being able to be used on, say, their Mom's macbook isn't going to really matter because that will never take place in that scenario. (of course, if a computer lab is already stocked with Macs, then clearly SmallBASIC is never an option to begin with).
While yes, they can move up to Visual Basic, that is still not really seen as a great language and while it is used in industry, it is certainly not that nice to work with or used for building new stuff outside of small hacked up applications nowadays.
Sounds more like an opinion than a statement of fact, though I would agree with the general sentiment when it comes to Visual Basic 6. But I think you would find it difficult to argue beyond opinion that VB.NET is "not that nice to work with or used for building new stuff outside of small hacked-up applications" I'm not even sure I could demonstrably argue against that being applied to any programming language. Any programming language A person is not familiar with will feel clumsy. Ruby feels clumsy to me, but that doesn't mean Ruby is clumsy- it means I don't know Ruby.
I don't think the First language a person learns really matters in terms of that language having an "obvious upgrade". The Fact that you can move to Visual Basic .NET from SmallBASIC could almost be argued as a negative simply because it promotes a monoculture.
The importance of a "first language" at that age is IMO accessibility. Make it as straightforward as possible. The fact that a kid learning via Logo in Grade 2 didn't have an obvious "upgrade path" doesn't matter. What is important is the concepts and the seed being planted. How that applies to SmallBASIC and Python, well, I don't know. I think both can be used reasonably in that environment, but Python would require some up-front work by educators to make it more accessible. Not a difficult task by any means. But I think Python would still take more effort than simply using Processing or SmallBASIC. (I know literally nothing about scratch so can't comment on that). You said it yourself-
The key thing is to just take care and think about the code you are writing and what everything does rather than simply copying code from tutorials.
It doesn't matter what language is being used.
Now, rolling back here a bit- I should reiterate that I am talking about "First language" in terms of say a primary school. If we're talking about a "First language" to use in an introductory college or high school course, then I would definitely say Python, Processing, even Scheme or Java or C# would be better choices than SmallBASIC. Historically the time when Primary schoolkids learned with Logo was the same time that introductory college courses used Pascal, so obviously the choice of software still needs to vary depending on the specific age group. I don't think SmallBASIC is a bad choice for very early programming to expose kids to basic (no pun intended) programming skills, but it would be a terrible choice for learning about data structures or OO concepts.
I think the point of such early programming is to firmly establish that computers are not magic boxes. They do not take special talent to program or control and telling them what to do is practically part of their function.