Creo que el problema deriva de la acción del operador $\hat p$. Por favor me corrija si me equivoco.
La acción del operador $\hat p$ en el espacio cuántico se define como
$<x|\hat p|a>=-i \hbar \partial_x <x|a>$
si el estado $|a>$ no depende de x. De hecho, si el estado $|a>$ dependía de la $x$, como por ejemplo $|a>=f(x)|b>$ para cualquier función escalar $f(x)$, entonces es claro que la ecuación
$<x|\hat p|a>=<x|\hat p f(x)|b>=-i \hbar \partial_x <x|f(x)|b>= -i \hbar \partial_x (f(x) <x|b>) $
estaría mal definida, ya que podrían ser evaluadas en otra forma diferente:
$<x|\hat p|a>=<x|\hat p f(x)|b>=f(x) <x|\hat p |b>=f(x)(-i \hbar) \partial_x <x|b>$
La segunda evaluación proviene del hecho de que, en el Estándar de la Mecánica Cuántica, se postula que cualquier operador actúa sobre ket vectores y no en escalares (con la excepción de la inversión de Tiempo del operador, que no es de uso aquí).
El colector de relación $\left[\hat x, \hat p\right]=i\hbar$ se obtiene a partir de la acción del operador $\hat p$ como se define arriba. Por lo tanto, se trata inequívoca que tal conmutación relación no puede ser utilizado generalmente en un producto escalar ($<x|...|ket>$) si el ket estado en el derecho depende de la $x$.
Habiendo dicho que, al realizar la traza del colector $\left[\hat x, \hat p\right]$, por lo que están haciendo
$Tr\Big[\left[\hat x, \hat p\right]\Big]=\int dx <x|(\hat x\hat p-\hat p\hat x)|x>=\int dx <x|(x\hat p-\hat p x)|x>$,
donde en el último paso anterior sólo he extraído los valores propios de los autoestados $|x>$.
En la ecuación anterior se tiene un producto escalar donde el ket en el derecho depende de la $x$. Por lo tanto, usted tendrá que tener cuidado en la evaluación y usted no puede usar el $xp$-relaciones de conmutación de inmediato. Con un poco de cuidado, todo el mundo puede ver a partir de la ecuación anterior que, de hecho, la traza se da cero
$\int dx <x|(x\hat p-\hat p x)|x>=\int dx \,x<x|(\hat p-\hat p )|x>=0$,
como debería.
Mientras que, si se hubiera usado la $xp$-relaciones de conmutación desde el principio, usted tendría erróneamente encontrado
$Tr\Big[\left[\hat x, \hat p\right]\Big]=Tr\Big[i\hbar\Big]=i\hbar$.
Editado después de que Joe Comentario
En la última ecuación se me olvidó la dimensionalidad del espacio. Debe ser modificado como
$Tr\Big[\left[\hat x, \hat p\right]\Big]=Tr\Big[i\hbar\Big]=i\hbar\,D$
donde $D$ son las dimensiones del espacio cuántico está tomando la traza. Gracias Joe.