Thanks for your thought-provoking comments, actually I had quite forgotten that I didn't necessarily need SQL (despite reading all the threads about that here)!
Trouble is, I understand the theory of in-memory data logged to disk, but as I'm just a humble hacker (self-taught amateur) there seem a lot of unknowns in such an approach. SQL, though a pain, is at least familiar and abundantly documented.
Guess I'll do a little more research, and a little more hacking, since I would be quite happy to drop SQL entirely!
Actually, I am self taught too and most hackers here are probably much better than me. I use python, if you do the same then try out Zope DB and schevo.org. These are Object based DBMS - non SQL. The problem like someone pointed out is that such systems are not language agnostic.
I know nothing about sql wrappers but I do know whenever I have a scaling problem it is ALWAYS the sql. I doubt if any wrapper will save me from this. As your database grows larger you need to fine tune your sql, indexes, and so on.
1. You don't have to use SQL.
2. If you are going to use SQL, Find a wrapper that is minimalistic for your current needs. Work with lesser and you will work more but you will also work with more freedom and sanity.
Best of luck friend. :)