Agree. I'm using projectile[1] for now but that somehow messes things up with caching files so that I actually cannot search my project files. I assume that might be a fault on my side though.
Have you tried projectile? From reading the Readme this was exactly what I was looking for as a Ctrl-P replacement.
I use projectile with caching turned off with flx-ido for sorting. I heavily favor (projectile-find-buffer) once I get going since loading the whole tree is pretty slow on a large project. I'm way more happy with this setup than I was with CtrlP.
I've had some weird things happen too when searching for files in a project using projectile, I fix it by triggering a refresh of the cache by prefixing with a C-u the C-c p f command.
Have you tried projectile? From reading the Readme this was exactly what I was looking for as a Ctrl-P replacement.
[1] https://github.com/bbatsov/projectile