Why does changing the frequency of a single component change total sum of amplitudes in my FFT?
That's a subtle sampling issues and you will get your desired result by replacing this line: 

t = np.linspace(0, 1, iNumSamples)


with the following:

t = np.linspace(0, 1-Ts, iNumSamples)


That being said, it's really a virtual sucess and you would never rely on such perfectly matching numbers in practice...