This happens because by default Web Deploy uses file modification dates to check if the file needs to be copied to target. When you change dev pc you re-buiold everything effectively setting file modification timestamps to a newever date, than it was when publishing from old dev machine.
As of the new ASP.NET and Web Tools for Visual Studio 2013 Release you can configure your web peoject to use checksums instead of modification timestamps. This must solve your problem. - see http://msdn.microsoft.com/en-us/library/ee942158.aspx#use_checksum
Just modify your publich profile to include the following:
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<MSDeployUseChecksum>true</MSDeployUseChecksum>
<!— other settings omitted to keep the example short -->
<PublishDatabaseSettings>
<!— this section omitted to keep the example short -->
</PublishDatabaseSettings>
</PropertyGroup>
</Project>