if you do /join 0 you will part all channels...

So it has nothing to do with channel locks either seeing how "0" is not a valid channel name. Also, seeing how comma's cant be used in a channel name either doesnt help. the only reason you part all channels on /join #100,000 is because to the server you are joining channel #100 and then after the comma it sees 000 which is 0, so it thinks it wants you to part all channels, so that is what it does.