Vector3 Arithmetic: Detect if a Vector is between other vectors.

Hello,
I am trying to detect if a Vector3 (P) is between other 4 Vectors3 (A, B, C, D)
I have tried to do this using two vectors in stead of 4 using this script:

function GetPositionBetweenTwoVectors (position : Vector3, VectorA : Vector3, VectorB : Vector3) : float {
	var displacement : Vector3 = position - VectorA;
	var currentSegment : Vector3 = VectorB - VectorA;
	var fraction : float = Vector3.Dot (displacement, currentSegment) / currentSegment.sqrMagnitude;
	return fraction;
}

But this crash when the Vector3 P is outside of A, B.
How can I determine this statement?
Thanks

Heres a collection of nice vector arithmetic functions
http://wiki.unity3d.com/index.php?title=3d_Math_functions

Im not exactly what it is you are trying to acheive?
4 points that make a tetrahedron volume, is P inside that volume?

I am looking to the link.
That’s the target.
Detect if P is inside or outside.
I think it’s possible also with three vectors3.