I just tested my code and it works as it should.
You have to call that function in a while loop or put a while loop into the function itself.
Here is my testing set up as zip file (includes all sources):


and here is a modified function of the above one which moves the entity the whole way:
Code:
/*
 * move_WithoutTurn
 * This function moves one entity (_ent) towards another entity (_target) without
 * rotating the moving entity itself. The maximum movement speed is given through
 * _maxSpeed, the minimum distance until this code is executed is _minDist
 * requirements: both entity pointers have to be valid!
*/
void move_WithoutTurn(ENTITY* _ent, ENTITY* _target, var _maxSpeed, var _minDist)
{
	VECTOR temp;
	
 	while(vec_dist(_ent,_target) > _minDist)
  	{
  		vec_diff(temp,_target.x,_ent.x);
  		if(vec_length(temp) > _maxSpeed)
  		{
			vec_normalize(temp,_maxSpeed);
  		}
  		vec_scale(temp,time_step);
		
 		c_move(_ent,nullvector,temp,IGNORE_PASSABLE);
 		wait(1);
	}
}