We use Cache::FileCache extensively (HTML::Mason has hooks built-in to use it) and I've never experienced the probably you're describing of the cache file disappearing. I just tried this test code and each time I run the script, I get the PID of the previous process out of the cache:
#!/usr/bin/perl
use strict;
use Cache::FileCache;
my $c = new Cache::FileCache({'namespace'=>"foo"});
warn "Previous PID: " . $c->get("pid");
$c->set("pid"=>$$);
warn "This PID: " . $c->get("pid");