Try posting a screen snip of the SQL string from Access. Is x the same value? Looking at your string, I can see this problem: IntRateFrom. Access SQL may have put a new line character so those two lines should be:
...snip
x = x & "*InterestRate)/Sum(PBO) AS IntRate"  & vbCRLF
x = x & "FROM Data LEFT JOIN tbl_ABI ON Data.BorrowerUniqueID = tbl" 
..snip
Edit: By working, you mean the string is correct or it executes?