If I understood your domain and problem description correctly, you should be able to do the rule like this.
//from row number: 1
rule "Row 1 Arrive Destination"
salience 3
activation-group "arrive-destination"
dialect "mvel"
when
waypoint1 : Waypoint( type == "Destination" )
clm1 : CarLocationMessage( sightCode == "Z" , loaded == true )
Shipment( shipToCustomerNo == waypoint1.shipToNumber) or
not Shipment()
then
TripEventRuleResult tripEventRuleResult1 = new TripEventRuleResult();
tripEventRuleResult1.setEventType( "Arrive" );
insert( tripEventRuleResult1 );
end
In short, you don't need to have null check for the Shipment object. It either is or is not in the Working Memory