Ok, big question, I'll answer it in stages:
For starters, self-hosting is going to produce a slow, bad user experience for anyone who visits your website. Response times will be bad, it will be up and down as your internet connection varies, and you'll have the lovely experience of having your internet get slow anytime someone browses your page.
Bottom line, DON'T SELF HOST.
If you insist on doing so, use sqlite is probably the easiest of the database technologies to move around. Since it's all flat files, and requires no running server, you won't have many of the issues associated with migrating a mysql install.
As far as technologies, if you're writing a web app, use web technologies. You mention that it takes a long time to go between pages on wordpress/joomla, but think about how much longer than that it takes for your users to load up whatever monstrosity you may have concocted in flex! Flex is designed for data-heavy database powered applications that would normally be written in something like visual basic. It allows those apps to be integrated into a website, but it's really a terrible way to build a blog.
If you want to be able to post from your desktop, consider using one of the XML-RPC desktop clients that post directly to a wordpress blog.
Bottom line, don't reinvent the wheel. Use wordpress, it's damn good at what it does. Since you don't have your own hosting, host at wordpress.com, it's free and very reliable.
Best Answer
For a standalone application you will need to use Air, FLEX is a framework so you can use it into your Air application.
Air come with SQLLite ready to use, if you dont want to use SQLLite you will have to find a way to communicate with your database : a gateway server (php, java, ...) or found a ready to use socket driver, or write it yourself.
Edit: Here a starter page where you can found for example Air sample and tutorial
In this one, an example of using an SQLite database. You can download the code of the sample application