One pip of SPX500 is definitely not worth one Dollar. And the rollover is also not the same as for the underlying currency.

I've just checked the pip cost in the FXCM API and indeed, it's now 0.07, just as the value returned from convertProfit. But 2 months ago it was 0.7. That's the value in AssetFix.dta that was downloaded back then. Possibly FXCM made a mistake and silently fixed it meanwhile in the API, but not yet in TS and on their website.