let $G$ be a free abelian group of rank $n$ with basis $B=\{b_1,\cdots,b_n\}$ then $G$ must be torsion-free. to prove this let $g=\sum{m_ib_i}\not = 0$ an element of $G$. Suppose there exists $q\in \mathbb Z$ such that $qg=0$ then $\sum{qm_ib_i}=0$, so for each $i=1..n$, $qm_i=0$. Now since $g\not = 0$ then $q=0$. Is this correct?
[Math] a free abelian group is torsion-free
group-theory
Related Solutions
As David Wheeler says in the comments, we cannot generally speak of the torsion subgroup of groups that are not abelian, because the torsion points need not be closed under multiplication; an obvious example being the infinite dihedral group. On the other hand the proof you've written does demonstrate that all torsion points are contained in $H$.
It is possible for non-abelian groups to have torsion subgroups, of course. If $G$ is finite then the torsion points are just all of $G$, for instance, and Wikipedia states that the torsion subset of any nilpotent group forms a normal subgroup (so this would include infinite groups). The orders of elements do not behave predictably in nonabelian settings, however: whereas in abelian groups we have that the order of $ab$ is the $\rm lcm$ of the orders of $a$ and $b$, we can actually pick any integers $r,s,t$ and there will be a group $G$ with elements $a,b,ab$ of those orders respectively (this is Thm 1.64 in Milne's freely available group theory course notes), specifically the $\rm PSL_2$s of some finite fields.
If $T$ is the torsion subgroup of an abelian group $G$, then $G/T$ is indeed torsion-free.
Indeed, if $xT$ is torsion in $G/T$, then $eT=(xT)^m=x^mT$ for some $m>0$. This means $x^m\in T$, so $(x^m)^n=e$ for some $n>0$. Therefore $x^{mn}=e$ and $x\in T$, so $xT=eT$ and there is no nontrivial torsion element in $T$.
If $G$ is already torsion, then $T=G$ and $G/T$ is the trivial group, which is torsion-free because it has no nontrivial torsion element (having no element different from the identity).
The trivial group $\{e\}$ is indeed both torsion and torsion-free. There's no contradiction.
Best Answer
Your proof is correct. However, I would add one more step to "since $g \neq 0$ then $q = 0$":
Since $g \neq 0$ and $b_1,\ldots,b_n$ are linearly independent $m_i \neq 0$ for some $i$. Because $\mathbb Z$ has no zero divisors $qm_i = 0$ implies $q = 0$.
EDIT: It is not necessary to restrict to the finite rank case. Your basis may have any cardinality, however, since $g$ can be expressed as a finite linear combination of basis elements the proof works the same in that case.