Found a better way. In ent prethink check the distance between the ent owner and the entity and remove it if distance is greater than allowed
PHP Code:
new Float:flOrigin[ 3 ], owner, Float:oOrigin[ 3 ];
owner = entity_get_edict( ent, EV_ENT_owner );
pev( ent, pev_origin, flOrigin );
pev( owner, pev_origin, oOrigin );
if( get_distance_f( flOrigin, oOrigin ) >= get_pcvar_float( dist ) ) {
remove_entity( ent );
return;
}