Locks and bans are pretty separate from my experience; locks are usually indicative of jumps to flagged or far-away IPs while bans are linked to botting (possibly extremely flagged IPs). I will consult with another staff member before making a decision.
NPC is the object type, getNpcs() returns the Npcs class which you use to find it.
Think of it like this, you use the Npcs class to find it (cause there's more than one NPC), then store it as an NPC.
I think you're missing the point here. To avoid detection you want to make your client as closely as possible act and look exactly like the Jagex RS Client, which OSBot does.