I ran this in my editor (pasting your line of code):
$row = 1;
$IDindex = 1;
$qindex = 2;
$faq[$row][$IDindex] = 'StringOne';
$faq[$row][$qindex] = 'StringTwo';
$qparastart = '<p>';
echo ($qparastart."<a href=\"[~71~]\"#".$faq[$row][$IDindex]."\">".$faq[$row][$qindex]."</a></p>");
It echos this:
<p><a href="[~71~]"#StringOne">StringTwo</a></p><p><a href="[~71~]"#StringOne">StringTwo</a></p>
So there's nothing wrong with your code. Maybe one of your strings has a quote, apostrophe, or some illegal character in it. Or maybe you have magic_quotes_gpc turned on. (Though you really should use $output rather than echo).
------------------------------------------------------------------------------------------
PLEASE, PLEASE specify the version of MODX you are using.
MODX info for everyone:
http://bobsguides.com/modx.html