wirelesstkd
Ashley wrote a great blog post about lerp here: https://www.scirra.com/blog/ashley/17/using-lerp-with-delta-time
The reason why the example you followed slowed down is probably because the first value in the lerp expression was being updated every tick. So, the distance the sprite moves gets smaller and smaller as it approaches the target location. This provides a nice ease in effect (if that is what you want - which you don't).
eg: Set Sprite.x to Lerp( Sprite.x, TargetX, dt )
Sprite.x changes every time the expression is evaluated (and is used inside the lerp expression), so the amount the sprite moves each step of the way is reduced as it gets closer to the target - which slows it down. since you want a constant speed, you need to change the third value in the expression (the percent moved from value1 to value2) without changing value1.
eg: Set Sprite.x to Lerp( StartX, TargetX, percentMoved)
when percentMoved = 0 the sprite will be at StartX
when percentMoved = 0.5 the sprite will be half way between startX and targetX
when percentMoved = 1 the sprite will be at targetX
so, as percentMoved changes from 0 to 1 (or 0% to 100%) the sprite will move at a steady speed (as long as percentMoved changes at a constant speed).
You just have to be careful not to change startX or targetX while the sprite is moving.
If you add dt to percentMoved every tick, then it would take 1 second to move from startX to targetX.
but since you want the move to take 0.5 seconds, you want to add dt*2.
I made a quick sample here: http://www.rieperts.com/games/forum/lerp.capx