I ran into this  issue while creating a Windows 2008 R2 template – after a Sysprep the mouse driver would revert to « PS/2 Mouse ».

It turns out that by default, sysprep will remove all PNP drivers during the Generalize phase, causing windows to re-discover drivers during the sysprep. The PNP scan gives a better ranking to the PS/2 drivers, and therefore selects them over the VMWare one…

Here’s how the Windows PnP manager ranks driver in order of importance:

    1. Signing
    2. PnP ID match
    3. Driver date
    4. Driver version

The solution appears to be the « PersistAllDeviceInstalls » sysprep option – this tells sysprep not to remove the PNP drivers during the generalize phase and leave the existing ones in place. Since the cloned VM wil have exactly the same hardware, there is no compelling reason to rescan for new drivers. With this option in place, the mouse driver remains set to « VMware Pointing Device » and continues to work fine after I sysprep a 2008 R2 VM.
Here’s the XML that I added to my 2008 R2 answer.xml file to resolve the issue:

<settings pass="generalize">
<component name="Microsoft-Windows-PnpSysprep" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35"
 language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<PersistAllDeviceInstalls>true</PersistAllDeviceInstalls>
</component>
</settings>

There is another way to do this without an answer file, useful if you are using Customization Wizard.  After installing the complete VMWare tools and before running Sysprep, set PersistAllDeviceInstalls to 1 under: HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionSetupSysprepSettingssppnp

Source: http://communities.vmware.com/thread/312163?start=15&tstart=0