The rule's wording in the category's rules was incorrectly stated, and that was an error on my part. Unless there's any major reasons why I should reconsider, effective immediately, the wording "you only have three lives!" has been replaced with "you cannot game over or it doesn't count!"
(At 50,000 points, you receive an extra life. This is an intended mechanic of the game).
As a heads up, I think I have gotten another bonus life somewhere, I'm guessing at 100k points or maybe 150k during a "destroy everything I can" longplay. Maybe there was a special 1up plane or something, or maybe a bonus for landing on the carrier right, or...? Anyhow, just wanted to throw that out there! I tried to pick up that 2nd bonus life yesterday at times but was unsuccessful.
There's surprisingly little information out there about this. I am almost tempted to put a Game Genie code in where I cannot die or something, and just kill all the things with save states and no pressure to see what happens. It would be nice to determine where, exactly, these extra lives occur.
I wanted to resurrect this to mention that I did some research looking at the game memory and found where the game score is located. It's stored in a very strange way (see below), but the upshot is I figured out that extra lives are given every time you cross 50k with the ten thousands digit. In other words at 50k, 150k, 250k etc.
With that knowledge I did a heavily save stated run to kill as much as possible, noting the point values for various enemies along the way and found that it's just possible to get to 150k if you kill nearly everything in the game. I developed a route to do that and that's how I ended up with the 23:11, getting the 2nd extra life at the final boss allowing the crash on the final landing. I don't think 250k is possible unless there's some big score bonuses I missed.
For those interested, the score is stored in 3 DWORDs (8 bit values) at RAM addresses 0x7E4 (Tens/Hundreds digits), 0x7E5 (Thousands/Ten-Thousands digits) & 0x7E6 (Hundred Thousands/Million digits). Notice there's no Ones digit, that is assumed to always be zero and is tacked on when displaying on the score screen.
The other funny/strange part is each part of the score is stored in hex but treated as decimal when displaying. So a memory value of 0x50 at 0x7E4 which would translate to 80 decimal, shows up on the score screen as 50. I found this by accident when changing the score values and ended up with a score of "AA0" :P
As an example for a score of 1,256,340 the memory layout would look like:
| 34 | 56 | 12 |
| 0x7E4 | 0x7E5 | 0x7E6 |