"So yes, I have gone back to 50/5 and no, the experimental code would not prove anything because it removes the fact that the boy is a known entity and therefore occupies position 1."
Draug, your fallacy is saying that the boy is a known entity. You say that once we know "there is at least one boy," then we can take and label that child. But there is no such child to label. If there are two boys, doing so would entail making a choice and treating the children as asymmetric illegitimately. Any choice you make would assume the presence of information you were not given, which is what is causing you to come up with the wrong answer.
In effect, you are double-counting BB because the boy you fix in that case could be either (but in the other cases, it could only be the one). You are not allowed to do so.
Let's do this correctly. I tell you, "Draug, Mr. Jones has two children. At least one of them is a boy." You say, "OK. Fix that boy, call him A." That's where you're making a mistake. You should say, "OK. If there is only one boy, fix the boy and call him A. If there are two boys, fix the older boy and call him A.
"In the first case, A may be younger or older -- GA or AG. There is one of the second case. So there is a 1/3 chance we are in BB (i.e. AB)."
The reason you still have to count GA and AG is because your labeling does not reflect any known persons or information. It is just a choice that was broken down into cases, and you can't just assert the probability of the different cases (A and a girl, or A and a boy). You still have to compute them.
@SD: what you are saying just goes to show that probabilistic independence is very counter-intuitive. The result of 1/3 in this case is BECAUSE the children are independent. It's just that humans are very bad at making these computations intuitively.