The CDL switch located on the transfer case can test good, but in fact still not be working right. I ran into this on my truck, I pulled the switch from the transfer case, my meter said it was working, when in fact my center diff lock would still not lock. What i ended up doing to get it working, I took a can of contact cleaner, along with some compressed air, and flushed out the switch from the ball bearing end. Then i kept compressing that ball bearing in my hand, i compressed that bearing about 300 times to make sure that the contacts inside it were good and clean. As near as i can tell, many of these trucks get little to no low range use, so over years of non use the inside of that switch gets gummed up. Try giving it a real good cleaning, won't cost you anything other then your time.