Gridcoin, what you're saying sounds like it's a bit centralized, isn't it? If you need a central SQL database to keep track of things, then there has to be an entity in charge of it right?
I've also never heard a solution to the problem of people mining random problems, and then just waiting for one of the solutions to become relevant. Is there a way around that now?
With hashes you can't tell what hash is going to be next. So it's pointless to try and premine the next block. This is how I understand it anyway.