Ok, after all that lecturing I think that data may have been enough anyway.
I remade the Super Mario Bros. 12345678 brlyt from the stock one (just in case there was corruption) and adding 12000 bytes seems to have fixed the problem!
Let me explain what I did:
1. Tried Super Mario Bros. (stock) without padding..... no corruption (as expected)
2. Tried Super Mario Bros. 12345678 with 12000 padding .... no corruption (yay!)
3. Re-edited Super Mario Bros. 12345678 to have a console entry of "Nintendo Entertainment System 2" to change the length, still no corruption.
4. Re-edited super mario bros. 12345678 to have it's original text, still no corruption with the extra 12000 bytes of padding.
5. Re-saved the edited banner.bin, just with lz77 compression... still no corruption.
So what that tells us, is at least in this case, 12000 bytes worked great and worked regardless of the text included, which suggests that padding works! That isn't enough testing to confirm that 12000 bytes always work though so more testing is always appreciated and when you do run into a corrupted banner, you should mess with the padding and report results if you have the time.
Step 5 was very important because lz77 compression, like all lossless compression, works by writing repeating characters in shorthand. So our 1000+ bytes of repeating 00's get reduced to a few bytes that say "repeate 00 for 1000 bytes" which is a prefectly acceptable amount of extra data.
Anyway, long story short 12,000 is at the least confirmed to work better than the random amount I set, so expect a new brlyt release in a few min with the padding set to 12000 by default. I'll look into the save injector as well. I haven't released it yet because I'm trying to find something that could cause those automation errors someof you are getting.
**edit**
New brlyt editor is up.... I'm looking into the save injector as we speak.
**edit 2**
New Save Icon injector is up as well.... the only thing I could see on the Icon injector that is different is that is sets some of the text in the forms 2.0 objects as it's loading. I turned that off to see if there is any change. In all honesty though, if it is an error with the program itself, it might not be one I can fix as I can't replicate the error on my machine.
And with that, I go back to working on the rom injector.