@juanki

Parece que he encontrado una explicación al problema: http://www.javamexico.org/blogs/luxspes/por_que_usar_bigdecimal_y_no_double_para_calculos_aritmeticos_financieros

Por ahora lo resuelvo así:

QListA.insert(c, QString::number(QListB.at(c) - QListC.at(c), 'f', 2).toDouble());

Utilizo QString para forzar los decimales y redondear.
Encontré esta solución aquí: http://www.qtforum.org/article/29565/output-a-double-to-only-2-decimal-points.html

Sigo sin estar seguro si esta es la mejor manera de hacer un cálculo monetario de precisión. ¿Hay alguna otra manera de hacer esta operación sin margen de error?