I did!
RunningTotal: DSum("[TotalQty]","[BoM_ITemAnalysis_T]","[ID]<= " & [ID] & " And [Component] = '" & [Component] & "'")
So, it appears the delay is the time Access is cycling through the records. There are alot, (approx 150K) and assuming it is because it has to recalculate each record as it is performing a running total.
I'm struggling with finding a better method to get this data and analyze it.