Many packages add the version number to the base folder name. Personally, i always remove that so that it is easier to replace it when the time comes.
Complaining about the way that a developer packages their work, is likely a waste of time. After all, as noted in the RPM/YUM thread, "the developer knows best" (yeah, right). Just fix it, and get on with life.
With the root directory as qt4 there would be no need to change the config.sys Path and Libpath to install a new version and no need to reboot afterwards to activate those changes: simply delete existing qt4 directory and then unzip the new build in the same location and you are ready to go.
Unfortunately, that is probably not the case. A package like QT4 contains a lot of DLLs, some of which get loaded at boot time, and they stay there until the system is shut down. If you don't reboot, you will likely end up with a mix of old and new, until you do reboot. That could cause problems, and will probably end up forcing you to do a non planned reboot. It also appears that the new package has a different directory structure (again), so it may still require modifications to CONFIG.SYS, and a reboot, to make it work. That is just plain old fashioned poor programming, but it is what we get.