I'd just like to make the game less frustrating while maintaining the per-chapter difficulty. A counter doesn't seem necessary for that.
Key question: are the characters hard-coded into the game roster, or are they adopted from scenarios? If the former, then there is likely a status byte representing the "life" of the character loaded into RAM somewhere, probably in an ordered sequence (and likely mostly 0s or 255s at the beginning of the game). Thing to do then would be to create a cheat which prevents these writes back to the default. Another possibility is NOPing the character removing proc call. That call is made after the death quote, so its location should be documented, right?
If the characters are wholesale adopted into the roster by some means, then key thing would be NOPing the code which strikes them from the roster when deployed.