Actually, UPnP has been in XBMC for a while now, but it hasn't really been pushed as a solution for library sharing all that much (sort of a hidden gem of XBMC), and there have been a number of UPnP related bugs and issues that are now resolved or greatly improved upon for Frodo.
MySQL makes a shared database between XBMC devices appear as if it were the same local database that XBMC normally uses (SQLite), for the most part. However, a UPnP share is currently seen as just a file share that also provides its own metadata. While things like watched status and resume points can be added to UPnP (which is the plan for after Frodo), they currently don't work. Things like smart playlists, various add-ons, and other features of XBMC will only work with the local library, for the time being.
So right now MySQL is a feature win. However, it requires installing and setting up a MySQL server, which can be a challenge for some, or even just a challenge because of the OS or environment they are in. Not to toot my own horn, but I set up a good large part of our
MySQL (wiki) guide, but I don't have a MySQL server set up right now because it's kinda a pain in the ass for me. Some of that has actually changed in the last few months, since I know a little more as I get older, so now I know how to install MySQL on more devices, and I have more options (one of the issues I had was that the only stable/always-on server I had was an aging PPC G5 Mac. The MySQL server version for it seemed to have issues, and the G5 needed to be retired when it can, so it still wouldn't be a long term solution. Now I have more options).
UPnP is as easy as flipping a switch (more or less). If you have an existing library, with sources from any location (as long as they work on the host XBMC install), then you should be able to feed all that back to another XBMC device on-the-fly. No extra installs, no fussing with settings. Further more, multiple XBMC devices could have their own shared library. I should share to a roommate's XBMC and he could share to mine, allowing us access to two libraries at the same time without either of us having to modify them. This is really great if you just happen to be stopping by someone's place and want to share your library (say, on a laptop) on their home theater with their XBMC (though it does work fairly well with some other UPnP clients).
There's also some developmental/technical reasons that MySQL isn't really liked by some XBMC devs (and for good reason), so the general feeling is that something like UPnP (if not UPnP itself) should some day be a replacement for MySQL. UPnP will be grown and improved upon in XBMC, allowing it to do the same things as MySQL, and people should one day have the best of both worlds.
That being said, there are many ideas being tossed around by the team for a library sync system in XBMC, with UPnP just being one option. It's the strongest one at the moment, because we know that a good deal of the UPnP improvements are going to happen (or have already happened but just have not been reviewed/merged into XBMC yet) no matter what (more or less).
For XBMC v12 Frodo, MySQL is still a great solution. It's not always a pain in the butt and can be fairly easy for some (probably most) setups. UPnP sharing in XBMC is also a great solution. Maybe both will even stay in XBMC and serve different purposes.