I've used MySQL and still use Oracle, and MySQL is as bad as they make it out to be. Does that mean no one should use it? I don't think so.
We had a number of applications that were tiny (one or two tables, no more than 50k rows), and instead of using Oracle (which, at the time wasn't allowed due to licensing) we developed on MySQL. For all the reasons laid out in the forum thread: free, easy to install, easy to manage, free, not a lot of overhead.
Now this was back in the 3.23.x days when things like InnoDB or FKs or any of the other stuff was non-existent. And for what we needed it worked perfectly. It took inserts, updates, etc. with ease, never corrupted, recovered nicely off tape, everything.
But then the apps that it ran under didn't need an Oracle or a SQL Server to run. All I had to do was (as any good programmer should) was to validate my input, make sure I'm using transactions as needed (at the app level, not at MySQL because in those days it wasn't ACID compliant), and that was pretty much it.
The best part is, one app in particular was written in 2002. Last I checked, it's still running 6 years later, still on MySQL (I think it's 4.1 now or something) and still doing exactly what it was written to do.
So, yes, it sucks for e-commerce, banking, or data warehousing of any great variety (tried that too). But if you need a quick Recipe Box application, or some other twiddly little app, then MySQL will work just fine.
My sense is that MySQL is leaving it's roots as a dead-simple, fast little DBMS in favor of triggers, constraints, FKs, etc. I think that's where the suck of MySQL comes in to play. If your DB requirements are simple, MySQL will work 10 times out of 10. At least that's been my experience.