TestStatusOpen function is called from many fields validation like Type, No. Location Code, Quantity etc.
I am not sure what is your full requirement and why do you want to skip only while validating the Type field but you should be careful applying this change.
There many other places under Type validation which require Status to be Open and we do not have events to skip them.
if Type <> xRec.Type then begin
case xRec.Type of
Type::Item:
if Quantity <> 0 then begin
PurchHeader.TestField(Status, PurchHeader.Status::Open);