In fact, if you go to:
http://sm2.beneficii.net
And download all the source files and use FDSINFO to get the CHR files, and then use ASM6 to assemble them, you'll get a game that starts off with 8 stars. Basically, for testing purposes, until the disassembly is completed, I have it set to have assemblies of the game start off with 8 stars. (Go to diskmain.asm and toward the bottom you will see where the byte gets set.)
Basically, the value is stored in a "file" on the disk called "SM2SAVE ". It overwrites the value stored under the label "NbrGamesWon" in file "SM2MAIN ".
Here is what the line in the disassembly source looks like:
.byte 8 ;just this one byte (indicating no games won)
Disregard the "indicating no games won" comment as this is for when the disassembly is completed (when it's completed, I will set it to 0, like it is in the actual game). This btw is the only difference from the original game in the disassembly, and it will be corrected once testing is finished.
The 8 in ".byte 8" indicates that 8 games were completed, which is sufficient to get to World A.
-------------------------------------
Also, if you have a hex editor, you can open up the game with that, and find where it says "SM2SAVE " and go to the 7th byte following that string. The value to change should be a 00, and it should be preceded immediately by a value 04 and should be followed by immediately by an FF or 00. This should also be at the very end of the game (in other words, the rest of the game should be all 00's or FF's). Change that to, say, 8 or whatever your preference.