It appears that chirp assigns the bank index of "-1" when a bank designator is not found. These can be "cleaned up" in CHIRP but the original assignments are lost and seems to defeat the purpose.
This is true, it shows -1 when the memory appears to not be in a bank. This doesn't matter, because the index isn't useful unless the memory is in a bank.
I still can't open your ICF file, not sure what's going on, but you might want to try zip'ing it up first to see if that makes it survive the email transport.
Being able to see the ICF file would definitely help, but in the meantime, I've programmed my 2820 with your .img file so I can see what it's supposed to be like.
All entries have a bank assigned.
All except position 7, right? :)
So, I found that the bank start index was off by four bytes, which shifted things by two, making 5 the one with no bank affiliation. I only checked up to 115, but I think that we're good now.
I'll throw that fix in the next beta. That next beta would, by the way, be coming soon if I could figure out what the heck Dave Tilson's problem is :)