The Relationship between P^NP and the Permanent
I think you misunderstood the definition of $\mathsf{FPRAS}$. 


  Let $f: \Sigma^*\rightarrow Z^+$ be a
  function in $\#\mathsf{P}$. An
  algorithm $A$ is an $\mathsf{FPRAS}$
  for $f$ if for each $x\in \Sigma^*$,
  and error parameter $\epsilon &gt;0$,
  \begin{align*} Pr[|A(x)-f(x)] \le \epsilon f(x)] \ge 3/4 \end{align*} and the running time of $A$
  is polynomial in $|x|$ and
  $1/\epsilon$.


So if you want to reduce the error to exponentially small, then the running time will also become exponential!

Note that both of the results you mentioned show that approximating counting can be done within the second level of the polytime hierarchy $\mathsf{PH}$ or so. On the other hand, $\#\mathsf{P}$ is the class of exact counting, which is widely believed to be harder than approximate counting. Otherwise, $\#\mathsf{P}$ is also contained in  $\mathsf{FP}^\mathsf{NP}$, which implies that $\mathsf{PH}$ will collapse at least to the second level.