para empezar estas usando joins implicitos, trata de usar joins explicitos para que tu consulta quede:
Código SQL:
Ver originalSELECT * FROM lineas_presupuesto AS t1
INNER JOIN pagos AS t2 ON (t1.id_presupuesto=t2.id_presupuesto)
WHERE t1.id_articulo = '00000000'
ahora te has puesto a pensar que no estas haciendo el join de tus tablas por id_articulo? sino que lo estas haciendo por id_presupuesto, por lo que el codigo puede ser diferente....prueba con el query que te muestro y te vas a dar cuenta cuales son los registros que no necesitas y que ocupas para discriminar estos :)