Well, good news. I think I found the main reason why saving is broken in VNDSx 1.4.9. In short, it's because there's too many files. VNDS caches the names and locations of every file for a given visual novel, and CLANNAD has 45,241 files, which is a lot of files. Also, 42,706 of those files are voice lines, so it's safe to say those make up the overwhelming majority of the files in the game. That means the sound cache ends up being 1.1MB, which is quite big. I tested the game with all of the voice acting removed and that mostly seemed to fix the saving issue in VNDSx 1.4.9, as I was able to get through the Misae route with only a single crash.
I think Fate gets away with it by having fewer sound files (~28,000) and smaller saves. The incomplete CLANNAD port gets away with it for a similar reason, since it only includes ~25,000 of the sound files and it also has smaller saves. Umineko with its ~45,000 sound files doesn't get away with it, but it's a kinetic novel with chapter select, so it doesn't really need to.
Now, for the bad news. There's probably no good way to fix this. It seems I've hit the limit of VNDS's scalability. I tried reducing the cache size by minifying the file names for the sound files, but it wasn't enough. It only reduced the size of the sound cache from 1.1MB to 792KB. That allowed me to get slightly deeper into the game before I once again got hit with saving issues, but not by much. Trying to minify the names for the rest of the assets would only buy me a couple dozen kilobytes at best, which I can't imagine would be enough either. One thing I could try would be minifying variable names to reduce the size of save files, but I don't know if that would even help, since for all I know the main problem there isn't the size of the save files, but the amount of variables that have to be saved/loaded. And I've already blacklisted every unused variable, so there's not much I can do there.
And obviously, I don't think people really want to play CLANNAD without voice acting. I mean, I guess they could. The original game as released in 2004 did not have voice acting. That was only introduced by the 2006 PS2 port. But the English-speaking world has only really ever known the voice acted version (outside of the fan translation technically being compatible with the original version of the game), so I'd rather not force people to play without voice acting.
But, well, to be honest, I think my custom build is stable enough. It definitely crashes more often than VNDSx 1.4.9 does, but I think I've gotten it to be tolerable enough. And since skipping is a lot faster than it was in VNDSx 1.4.9 (or at least it is on DSi), getting back to where you were when a crash does happen doesn't take as long (though you should still save often just in case). So I think I'm officially done trying to get this working on VNDSx 1.4.9. You'll have to use my custom build to play the CLANNAD port on DS. Either that, or you can play without voice acting.