In general practice you wouldn't page out on each variable update, nor unload the cache. What you're seeing in file writes I'd suspect is mIRC simply dumping the current cache of the variables to ensure the integrity of variables as a redundancy. I don't know this for a fact, but it would make the most sense.

Imagine using /hsave after every /hadd for a Seen Database that tracks on TEXT in a 2000+ high traffic channel.. That'd be a bad practice, however periodically saving on an interval would be sufficient or (what I believe mIRC is doing) after a queue of updates has completed.

Now I've always thought mIRC only flushed on exit, but perhaps K changed it awhile back and I've just been out of the loop too long, but I remember when you used to have to rely on /flushini.