Interesting, thanks for the benchmark. Strong showing from CDB. I'm about to be doing some similar benchmarking on a broader range of stuff (Cache::Cache, Cache::Mmap, etc.) with a focus on multi-process use (with mod_perl), and I will definitely include SQLite after seeing this. I don't know about CDB, since it doesn't allow updates and that makes it basically useless for storing state data.
I think you hurt BDB performance a bit by using the tied interface. I never use it, since it's slower than calling the methods directly.