I had the fortune of stumbling across your awesome save game editor earlier tonight while searching for a way to get the Umbrella item because I suck too much at the mini-game to get it the legit way.
I've read through this thread and I must say you've made an amazing amount of progress with the editor. It's great seeing people willing to give their time and talents toward enhancing the Final Fantasy VII community even though the game is nearly 15 years old. I love it!
Out of sheer curiosity, after I used Black Chocobo to add the Umbrella weapon to my save game's inventory, I ran a file compare to see what and where changes were made to the save file.
Comparing files save00.ff7 and SAVE01.FF7
00000009: AD C4
0000000A: 1E 6B
0000007E: 32 33
00000525: FF C7
00000526: FF 02
I figured out that 0x525 is the item code and 0x526 is the quantity (or it seems to be double the quantity for some reason). I also figured out that 0x9 and 0xA are the checksum, but 0x7E confused me for a while. If I'm reading the save map correctly, that would be Cloud's level progress bar. I didn't make any changes in Black Chocobo other than adding the Umbrella, so I was confused as to why that value would be changing. Is it possible that the game and your program calculate that value slightly differently due to rounding differences? That's the only thing I can think of.
Also, I tried out the New Game+ feature but it seems to be a bit quirky. The game did indeed start over from the beginning and Cloud had his same level, but Barret's level had increased by 5 levels. Maybe the game has some kind of base level for Barret and adds 5 levels to that when you start a new game? Would there be any way to prevent this, such as subtracting 5 levels from the character when performing the New Game+ function so that the net change would be zero? Ideally, every character would be the same level in the new game as they were in the save game it was based on.
Thanks for the great editor and keep up the impressive progress!