Oh my god I completely forgot negative literals existed. Derp.
Anyway, that explains a lot. I use lerps extensively in my game to handle things like fades and slide animations in cutscenes and basically the code looks like this:
//Class member for storing the slide progress.
private float _fadeProgress = 0;
_fadeProgress += (float)gameTime.ElapsedTime.TotalSeconds;
if(_fadeProgress >= 1)
//do something to stop the fade progress from increasing even more.
int startX = -100;
int endX = (ScreenWidth - 100) / 2; //centre of the screen, horizontally.
int x = (int)MathHelper.Lerp(startX, endX, _fadeProgress);
//render something at that position
It may be very miniscule (a few pixels at most if running at a decent framerate) but if you were to simulate low framerates, sub-1FPS, I could see the rendered object getting rendered at an unintended location.