I tried to insert flashcache between a md RAID and lvm2 to cache my entire disk subsystem (on Debian wheezy.) The initramfs-tools script doesn't handle that case. The cache wasn't loaded and the PV was not found by lvm so the root fs couldn't be mounted. That was easily fixed by running flashcache_load, lvm pvscan and lvm vgchange from busybox. It might be a race condition since flashcache_load depends only on mdadm and udev (not sure about the interplay between udev and md/lvm startup.)
I fixed that by adding a simple initramfstools script that depends on mdadm and flashcache_loads the SSD partition, and made lvm2 depend on that.
From a general standpoint, caches could be dependent on or prerequisites to md and lvm, so flashcache_scan should be called three or even four times.
I'd be happy to commit your script into the git repo if you create a merge request.
I was lazy and made it specific to my system, not generic :(
rrohbeck, could you please share your simple initramfstools script?