Despite your effort to prevent problems with a virtualization deployment, vendors still pose the number one threat. Software vendors do not want their application to be considered the problem in any situation. Because virtual environments can be configured in many different ways, there are many opportunities for error and slow performance.
By nature, virtual environments are sharing environments, which opens up the possibility that another application or process sharing the host's resources will interfere with a VM's ability to run a vendor's application. For this reason, a vendor may support a variety of physical hardware, but may only support the hypervisor with which it is most familiar. This potential lack of support can limit the scope of your virtualization deployment and cost savings. In my experience, vendors want to make the sale, and will usually work with you if you take the time to talk with them. Having the support of your management is very important, because a software vendor may ask your organization to sign documents stating you are diverging from the vendor's recommendations.
Bottom line: Pick virtualization-friendly vendors and stick to the goals of your virtualization plan.