Because you are using local accounts just copying the ACLs will not work, because the SIDs will be different on the different machines.
I would work this in several steps:
First: Get the account SIDs (both on old and new machines). The quickest way is using psgetsid (from PSTools)
PS G:\> psgetsid iusr_mymachine
PsGetSid v1.43 - Translates SIDs to names and vice versa
Copyright (C) 1999-2006 Mark Russinovich
Sysinternals - www.sysinternals.com
SID for MYMACHINE\iusr_mymachine:
S-1-5-21-3287596715-1315679848-4222504177-1004
Second: Get the SDDL ("Security Descriptor Definition Language", a way of writing ACLs in text, described on MSDN) of the files you want. Win32 and .NET have methods to do this, but the simplest route is PowerShell (with added line breaks to make structure visible):
PS E:\Dev\Sites> (get-acl .\WebSite).sddl
O:S-1-5-21-1527045006-1366868173-4125010901-1001
G:S-1-5-21-1527045006-1366868173-4125010901-513D:AI
(A;OICI;0x1200a9;;;NS)
(A;OICI;0x1200a9;;;S-1-5-21-1527045006-1366868173-4125010901-1012)
(A;ID;FA;;;S-1-5-21-1527045006-1366868173-4125010901-1001)
(A;OICIIOID;FA;;;CO)
(A;OICIID;FA;;;SY)
(A;OICIID;FA;;;BA)
(A;OICIIOID;FA;;;S-1-5-21-1527045006-1366868173-4125010901-1001)
Third: String substitutions can be applied for each {old machine SID, new machine SID) on this string.
Fourth: Set the new ACL on the folder (or file):
$sec = get-acl newfolder
$sec.SetSecurityDescriptorSddlForm($sddl)
Clearly the best route to do this for multiple files is to script it, with a script on the old machine doing 1 & 2, and generating a script to do 3 and 4 on the destination machine (to avoid setting an ACL with unknown SIDs remotely).