Ok looks Ill try to use interpolation on everything.
lerp(Line.Starty, Line.Endy, Sprite.Value('var'))
Anyway tried this with system compare but couldn't get it to work.
Here's a cap
http://files.getdropbox.com/u/666516/linelerp.cap
edit:
Dont need distance(x1,y1,x2,y2)... dont know what the heck I was thinking with that.