Is a bug from the OOP perspective, and may get fixed one day.
Looks like the engine takes the script as an extension of the node where is attached while the script is from a parent class (up to Object I guess).
For a good design, try to avoid it, if your BaseScript is just for Sprites, will be better to extend it from Sprite instead of Node, or rethink the design.
But that "cheat" is currently allowed and useful if you know what are you doing, so, is up to de designer/developer in the end.