Since you are moving the query to VBA, could you calculate the DLookups and append the values ... something like this:
(this is untested!!)
Code:
Dim iUnitCount As Integer
Dim iRate As Integer
'calculate values for Expr2 and Expr4
iUnitCount = Nz(DLookup("SumOfUNIT_CNT", "U", "PROC_CD='" & [HCPCS] & "'"), 0)
iRate = "[Conv Factor] * ((" & DLookup("[GPCIw]", "tblGPCI", "State='" & StateName & "'") & "* [Work RVU]) + (" & DLookup("[GPCIpe]", "tblGPCI", "State='" & StateName & "'") & " * [Non-FAC PE RVU]) + (" & DLookup("[GPCImp]", "tblGPCI", "State='" & StateName & "'") & "* [MP RVU]))"
Str = "INSERT INTO tblWIP ( PROC_CD, Units, Visits, [CMS Rate] ) "
Str = Str & "SELECT PPR.HCPCS AS Expr1, "
Str = Str & iUnitCount & " AS Expr2, "
Str = Str & V & " AS Expr3, "
Str = Str & iRate * [MP RVU] & " AS Expr4 "
Str = Str & "FROM PPR "
Str = Str & "ORDER BY PPR.HCPCS;"
' Debug.Print Str
CurrentDb.Execute Str, dbFailOnError