Y si los redondeas a los decimales que requieres? por ejemplo 2 decimales...
Lo que pasa es que los campos float tienen una mayor precision que un money o decimal, por eso aunque en la pantalla se desplieguen igual, puede ser que internamente sean diferentes...
Código:
SELECT factura_cliente, factura_total, cobro_total_factura
FROM factura
Inner join
cobro
On cobro_factura = factura_factura
WHERE round(cobro_total_factura,2) <> round(factura_total,2)
Aunque no es recomendable aplicar funciones a los campos, por cuestiones de rendimiento y todo eso... pero considerando que son valores numericos los calculos son mas rapidos...
Saludos!