Qué raro, no debería haber problema con eso.
Prueba comparando los valores recibidos como strings:
Código PHP:
Ver originalif($str_rowpagos != $str_rowcobros){...
o haz un casting y fija un límite para los decimales, por ejemplo:
Código PHP:
Ver original$float_rowcobros=(float)$rowcobros;
$float_row_pagos=(float)$rowpagos;
$precision=0.01;
if(($float_rowpagos - $float_rowcobros)>$precision){...
No se me ocurre otra cosa...