I currently use primocache trial, it works well, between two L2 cache resets.
L2 Cache reset is a very good security, and I prefer this behavior to having corrupt data.
However I cannot diagnose the origin of the problem and fix it.
Maybe you could add a "debug mode" option where the L2 cache would not de deleted when detected out of sync, but instead kept and marked unusable.
Then after boot, in primocache GUI you could add a button feature to check the L2 cache blocks and compare them to the disk.
If all blocks are correct ... no cache reset, L2 cache is simply marked usable again. ( =less writes to ssd)
if differences are found, output a list of files ( or disk reserved area like FAT) where the block belongs. (maybe if I know what file I could diagnose what is causing the L2 cache resets)
You could also add a "resync" button where L2 cache blocks that are different would be updated from disk and cache could be marked usable again without rebuilding it as a whole.
thanks
Edit : Also add a log of cache resets and cache events ( yes more work

Cheers
Additional info : I never enable defer write. I tryed both "SSD cache with read only strategy" and "SSD cache read & write" with all block sizes and various storage sizes from 2048 to max 50gb. Same result L2 cache is reset every reboot. Using version 1.01 on a windows Xp SP3 machine.
Edit : finally got the L2 cache working again.
Uninstalled primocache, did a chkdsk /f, re-installed primocache 1.01. Yesterday's cache is still here.
Note that a chkdsk /f at reboot time with cache removed but without uninstall/reinstall was not enought.
So uninstall/reinstall fixed it... maybe it makes sense to you ?