Muy buenas:
Teneis razón, aquel producto tenía precio 0.
Ahora he encontrado un problema que es que cuando un cliente tiene tarifa
propia para un producto y el otro cliente no, no cambia los precios.
La solución a ese problema sería cambiar el if de esto:
if self.start.price_list and (sale_pricelist and \
(sale_pricelist.id != self.start.price_list.id)):
A esto:
if self.start.price_list and (sale_pricelist and \
(sale_pricelist.id != self.start.price_list.id)) or
(self.start.price_list == None) or (sale_pricelist == None):
Así, si que cambia los precio.
Saludos.