My requirements are the same as @richard, the OP. I'm at the point now where I have lots of mockups in a project, and multiple backups of the project files. Alternate views aren't a replacement for versioning. I might find out days later that I modified a symbol which then caused an issue in some mockups. I may need to go back and see what the originals looked like, maybe copy some pre-issue component, and then paste it back into the current version. I might accidentally remove a mockup or some component and then need to look back to see where it was removed so I can recover it. Sure, I keep backups but the more complex the projects get the more I dread the time if/when these scenarios will play out.
Diffing SQLite is precarious but there is a tool for it. Others have asked about diffing SQLite, including this helpful Q&A. And this is the latest draft of using external Diffing tools with Subversion. Of course SVN isn't the only DVCS, I'm just providing an indication that the concept isn't unique.
Rather than trying to build something unique into Balsamiq, I recommend collaborating with others to make use of tools that already exist. The value-add of a diff tool in Balsamiq is that you'll probably strive to render differences in an attractive form. But internally you need to find the differences first with some kind of diff engine. That is what this thread is about - the engine, not the rendering. The OP and I want to diff outside of this product.
With regard to my thread about documenting the Balamiq SQLite schema, I dare say that if you do that, it won't be long before one of us writes a utility to generate new BMPR files that we can view in two side by side instances of Balsamiq to find our own diffs. Once again, you don't really need to do anything except tell us how it works.