As a compromise between simulation and strictly analytical solutions to B, consider a simple exact computational approach. Represent the number of rolls of each value so far by a tuple $A=(a_1,a_2,a_3,a_4,a_5,a_6)$. We can restrict ourselves to sorted tuples, with $a_1\le a_2\le\ldots\le a_6$, because all values are equivalent for the purposes of the question. Let $A\oplus i$ be the new tuple obtained by adding $1$ to the $i$-th element and then (if necessary) re-sorting. Let $N(A, t)$ to be the number of ways to achieve $A$ after $t$ rolls, starting with $N((0,0,0,0,0,0),0)=1$. Then for each $t$, calculate the counts for $t+1$ by iterating over all the $A$'s at the current $t$ and adding $N(A,t)$ to $N(A\oplus i, t+1)$ for each $i$.
This almost takes longer to explain than to code. Here is a Python implementation:
def Aplus(A, i):
tmp = list(A)
tmp[i] += 1
tmp.sort()
return tuple(tmp)
def Nmap(t):
curr = {(0,0,0,0,0,0): 1}
for tt in xrange(t):
nxt = {}
for (A, N) in curr.items():
for i in xrange(6):
nxtA = Aplus(A, i)
nxt[nxtA] = nxt.get(nxtA, 0) + N
curr = nxt
return curr
After which sum([ct for (A, ct) in Nmap(36).items() if 6 in A])
returns 7043010220180463771473308000L
, the exact number of ways to roll at least one of the values exactly $6$ times. The probability, then, is
$$
\frac{7043010220180463771473308000}{6^{36}} = \frac{24454896597848832539837875}{35813974994758803979763712} \approx 0.682831.
$$
That all being said, this is a great deal more likely than there being exactly $10$ heads in $20$ coin flips:
$$
p = \frac{{20}\choose{10}}{2^{20}} = \frac{46189}{262144} \approx 0.176197.
$$
The ratio is $\approx 3.875$. So if all you cared about were which way to bet, there might well be a clever and more simple comparison that would prove that B is the smart choice.