This would be a judgement call on his part and even if he is correct he may have to pay a huge price for disobeying the order. Turning you in would bring about an investigation. If he is backed up by others in his outfit he probably would get off without brig time. However, he would have a mark against him as far as any other commanding officers are concerned. This may not be right, but it is the way the world works. The whistle blower often pays a huge price even when they are right and backed up.
Unfortunately, what you said is kind of true, although I believe it is getting better. Firstly, the Army (can't speak for other branches) is getting better for "whistle blowers". They are better at retaining privacy for the whole investigation than they used to be, and will move soldiers if need be. Any specifics about what is going on need not be addressed by the new command, unless the soldier wants it to be.
Secondly, and this is sad in most cases, but good in this case, there is a distrust between the officers and NCO corp. This leads to both taking the side of the soldier over the other. Meaning that a command will believe the NCO was at fault before blaming the soldier.
Lastly, once the soldier is moved, he has access to the smith file, meaning he can remove any trace of any investigation, and start clean at his new unit. Some would argue that this is unethical, but that's for another thread.
So, it's not nearly as bad as it used to be, although I'll admit that it's not as good as it could/should be.
Hopefully, with the Army's current drawdown, the "move up or move out" policy, and the "keep the best, lose the rest" policy, the caliber of soldier, NCO, and officer alike will improve. This will hopefully minimize any situation like this in the first place.