newt
Say, we use that to make a sprite hunt the mouse.
Lets start the sprite far away from the mouse, and lets not move the mouse.
The sprite will now 'catch' up with the LineOfSight kicking in at one point.
If we now move the mouse, the LineOfSight is still kicking in, while you really want the speed (starting speed) defined in the else. (if i understand you right). So we start at maxspeed.
Also ...
When the lerp is written as lerp(positionSprite,positionMouse,lerpfactor) ....
positionSprite & positionMouse are dynamic. So the lerpfactor is altering the next position allready when it is static.
Make also the lerpfactor dynamic and i suspect that there will be weird feedback (but i did not try it)