There are some games (eg. Top Gun, Breath of Fire) that require specialized patches, but ezgba doesn't detect/apply them. gbata and the official client will handle (some of (?)) them, but ezgba relies on user to apply the appropriate IPS patch. Could be you have one of these - there's a list of these games in README.md.
I used gbata's SRAM patches as base, since there was already a thread on it. When I was experimenting with the official EZ client, it had the same SRAM patches as gbata, but in different locations (ie. the first occurrence of the pattern would be patched instead of the last, etc). I'd be surprised if they were completely different though. What ROM did you test with?
I think all my tests where with Yoshi's Island, EUR version, but I'm not sure right now about comparing the patching. I don't have access to my computer right now, so I can't really test again since my binay comparision tools are detected as virus in this computer and I don't have admin rights to disable/ignore it. I'll look for another one that isn't detected as virus.
About the saver: the name I was using is this "0624 - Yoshi's Island - Super Mario Advance 3 (E)(Menace)", so the filename limit isn't at play.
I tested a 128kB file and saving and loading worked fine, but the file kept being 128kB size, so ezIV 1.72 writes to the file directly, overwriting its contents, that's why a 0 byte file will corrupt the card: the eziv will writte outside the allocated space for the file.
So, what I'm thinking is to have a dummy file with a magic header at after each of the savegames, something like "IFICANREADTHISTHESAVEHASFINISHED", then the tool loads a savegame, checks for that header after each of the known savesizes and when it finds it the file is trimmed down to the real savesize. Put that program and a batch file on the saver folder and run it whenever you need to get the saves out of the ezIV to get correct sized saves.
It's a 2 step solution, but ensures always having the correct filesize for the save, and the games seem to work fine with 128kB saves even if they aren't supposed to have that size (I guess they just access the needed addresses in SRAM, then ezIV just dumps/restores it all?)
EDIT: this is strange, I tried a 1 byte file and it got correctly written and resized to the needed savesize. I'll check a 0 byte file again :S
EDIT2: a 0 byte file corrupted the card, so the trick is to use a blank 1 byte file.
EDIT 3: after cheking the readme, the one with patching differences might have been mother 3 (I read the game had problems running and was testing if it ran OK), but the save seemed to work (unless the correct save size isn't 64kB)