Because you're dealing with Haar Cascade logic, IMAGEGray looks to be the gray scale image of type
Image<Gray, byte> IMAGEGray;
Ensure that it is correctly initialized OR converted rightly from a frame. Basically check that it is not null.
and in this line:
IMAGEgray.DetectHaarCascade(face, 2.1, 10, Emgu.CV.CvEnum.HAAR_DETECTION_TYPE.DO_CANNY_PRUNING, new Size(20, 20));
face is a variable initialized something like:
var face = new HaarCascade("haarcascade_some_tree.xml");
Ensure that face is not null.
If both the variables are not null, then the DetectHaarCascade method probably expects some fields in the face object to be non-null and it is finding null.
Ensure if the face object fields are non-null. (some key ones once the variable is initialized)