Take a look at the event sheet "Scoresheet" line 25.
This line does two things
Action 1) Keep saying the next level has value 10 (zero hearts score/unlocked)
Action 2) Set the score (ammount of collected hearts) for your current level
You need to seperate these two actions with a proper condition by checking the score of the levels.
Check if the next level have a value less than 10 in the array. If yes, action 1) will be triggered
Compare "current collected hearts+10" value with the stored value of the current level. If "current collected hearts+10" is bigger than the stored value, Action 2 will be triggered.
Something similar has to be done aswell for line 26.
I feel like sherlock holmes now