As a side note, the region of the screen that does not despawn sprites infinitely extends laterally from the level orientation (besides falling below the level). Meaning in horizontal levels, left and right of the screen is where sprite gets deleted (not permanently), while vertical levels, up and down.
Fixed a huge oversight with the original patch (which honestly makes me wonder how it was accepted in the first place). While it did work properly for vertical levels, it also didn't check for the level's direction, thus making fireballs always despawn beyond screen 2, even in horizontal levels. Also added the sa-1 tag (the patch already had support for SA-1).
Thanks goes out to FedoraFriday for noticing and reporting this issue.