OK, Manipulate does what is supposed to do exactly. Consider it as a "dynamic loop" which is activated when its plot is on the displayed area on the screen. Each Manipulate plots the function T[a,e] BUT
between one Manipulate to another you CHANGE the definition on T[a,e]. Since Manipulate is only a fancy DynamicModule when you scroll back to a previous Manipulate you just discover that it uses the NEW definition of T[a,e]. Notice, the same holds to the functions that T[a,e] depends on.
Obviously clearing the parameters will not change that behavior
That is all.
The remedy is
1. Use different function names to each new definition of T[a,e].
2. Enclose the definitions of the T[a,e] (and the functions it depends on ) within a Module or Block as local definitions.