Your code doesn't make much sense.
I've never tested changing damage on the welder, so this may only change the actual damage output and not the repair rate. The func_weldable opening rate most likely would not be altered also, as that is stored as a "seconds to weld to open" value, not a "welder damage required to open" value.
something like this:
Code:
new welderid=0;
while ((welderid=find_ent_by_class(welderid,"weapon_welder"))!=0)
{
if (entity_get_edict(welderid,EV_ENT_owner)==id)
{
break;
}
}
if (welderid==0)
{
// could not find the welderid, get out of here
return 0;
}
ns_set_weap_dmg(welderid,dmg);