It really depends on the program and the differences between versions, and how it's installation process works. If, for example, you configure it with different settings, which resulted in different sets of modules being built in a program that supports external dynamic modules (Apache, heartbeat, ProFTPd, etc...), there may be modules left in the directories which are built against the old version.
Config files may also be overwritten or new config files not written, depending on the install process. This has most often bitten me with postfix, where new services are required in the master.cf, but Postfix helpfully provides a tool to fix these instances.
Personally, in the rare cases where I manually install software (rather than using distribution packages), I try to get them in a directory named based on the version, and then create a symbolic link from the generic name to the specific name. That way I can install the new version in a completely new directory. Otherwise, it's probably a good idea to move the old directory out of the way, say renaming it to ".old", and then do the reinstall.