When this happens there is generally an issue with the permissions on the machine or a disk space issue. The first thing that an update does is attempt to remove the previous install (it is done for you automatically through a pre-req). Next, the MSI caches itself on the local machine (not my favorite feature of MSI, but necessary nonetheless). Finally, it just copies the files out. Then you will see a couple of windows come up during the "Applicaiton Configuration" portion of the install that loads the new assemblies into the GAC, updates structures, etc.So the first thing that you will want to look at is your GAC. Do you have SF assemblies in there? If so, you may want to manually remove them, and the load the install again to see if they get updated.
This is one of those "how long is a string" questions since the OS and Windows environment come into play. But your OS and VS versions will work fine, so we just need to poke around a little and see why the files did not get updated.