I recently had to do an XAMPP upgrade from 1.7.1 to 1.7.2 (on Windows XP) and was somewhat surprised at some files the installer seems to have affected. I keep very good backups, and never lose anything - but someone is going to get their hard work erased by an upgrade and will not be happy about it. I recommend that someone look at this for some future release.
The most obvious problem is in MySQL. The installer takes great care to preserve the subdirectories of ./xampp/mysql/data and the *.frm files, but somehow the upgrade process corrupts ibdata1, ib_logfile0, and/or ib_logfile1. If you are using InnoDB, that's where your data is. So you will be looking at a database that knows how many tables it has and knows their names but the tables will be gone. If you go into phpMyAdmin, it will tell you the database is there but the tables are not. Restoring these three files from backup fixes the problem, but they should not be touched on an upgrade.
The less obvious problem is in ./xampp/apache/conf/extra/httpd-vhosts.conf. Admittedly, this isn't a problem for everyone. But as a professional web app developer, I have about a dozen sites on my working machine, and the mapping of sites to directories is all defined in this file. So when I go to foo.local, apache knows where the document root for that site is and works properly. Upgrades should at least make a backup of this file, rename it, not touch it, or do whatever it takes to not destroy it. Just do something better than silently replacing it.
Clearly, it should be possible to do an update and install programs in such a way that user provided (and modified) files are preserved. The installer seems to make an effort at this, but it doesn't always get it right.