Change the $06FA to another RAM Address that restarts every time you enter a level, like $08E3 or $7D. I find this strange though because the level loading routine is hacked and then RAM resets there. Have you applied any other patch that hacks the same routine, like the health patch ones?
A) this isn't where you would post that. I'm going to point you to a tutorial though since you apparently can't find those yourself.
Originally posted by Metriod HP Patch
JML Startlevel ; Whenever you enter a level
This Hijacks the same ROM address as the red coins patch. You are also going to need to put the opening level codes together, so :
Originally posted by code
STZ !RAM ; Reset RAM on level load.
make this the "StartLevel" routine in your combined patch and then put these defines up with the rest of them (!RAM = $06FA etc.):
!MarioHeartsFound = $1F2C
!MaxHealth = $0DC5
!MarioHealth = $0F44
!Health = $0DC4
And that might fix your problem.