If there's a broken part in either axle, or any part of the driveline after the transfer case, it will act as you describe. Park will not hold, and it won't have much if any power in high range. The reason the truck acts normally in low range is because both axles are mechanically joined by the center differential locker in the transfer case. In high range, the axles are independant of each other, so if there is a problem all your power goes to the broken axle, or more specifically to the broken part in that axle, and is lost. In low range, power is forced to go to both axles, so if either one is broken the other will move the truck. This is accomplished by the CDL, or center differential locker. It is activated when the transfer case is put in low range. If you pull the CDL (locker) fuse when it's activated (as you did per MoGas's suggestion) you disable the mechanism that would normally unlock the CDL when the transfer case is shifted into high range. By doing this, you verified that your transfer case is working exactly as it should (as I'm sure the other two you replaced were as well) and that you have a problem somewhere between the transfer case and the wheels. The most likely problem is the drive flanges, which is also the easiest to fix. It is also possible that some other axle part is broken. The easiest part to check is the drive flange, and also the most likely, so start there. You can do the check that CJF described all by yourself, and that might at least tell you which axle has a problem. I say 'might' because you say the truck moves, albeit slowly, in high range, so there is resistance and you may not be able to turn the driveshaft by hand even though something is broken. If you can't turn either driveshaft, you will have to do the test I described in post #14 to verify or eliminate the drive flanges as the problem.
-Spike