I do a lot of freelance work and clients often have me build apps from existing packages and applications (i.e.: Wordpress, Magento, Firefox [extensions] etc.). Six or seven months down the line, an update is usually available for the package which I built the apps from. With Wordpress, it's likely that it's a security update; sometimes it's a security update that's gotten rolled up into new code that's not compatible with a lot of old code (Wordpress 2.5, anybody?). Firefox breaks all of their existing extensions with every major update.
Now my question is whether it is professional to be charging standard rates to clients to deal with these updates. Sure, some of them require back-end updates (when the package is not inherently backward-compatible with existing code) but a lot of the time it's simply a migration thing: backing up files, copying, copying new files in, testing, etc.
I've recently had a client demand that I update his app to the latest version of it's parent application at no charge because I "chose a buggy application to build off of". In the past, I've had clients that have told me that I "should have planned for future updates". Has anybody else experienced this? How does the rest of the world deal with this?