En definitiva, parece un tema de incorrecto agrupamiento.
Para poder lograr que el resultado sea "5,7,49,1361710188", debes agrupar por "presu2_id", pero como lo estás haciendo también por "prodbun_id", eso genera una discriminación del agrupamiento que no cumple con lo que necesitas, porque ese campo tiene dos valores diferentes para el mismo "presu2_id".
La consulta que puede devolverte lo que quieres es:
Código SQL:
Ver originalSELECT
P.*,
GROUP_CONCAT(DISTINCT A.presu_artiid)AS arti_id,
GROUP_CONCAT(DISTINCT B.prodbun_artiid)AS bundlearti_id,
GROUP_CONCAT(DISTINCT B.prodbun_cantidad)AS bundle_cantidad,
B.prodbun_tipo,B.prodbun_numero,B.prodbun_id
FROM presupuestos P
INNER JOIN presupuestos2 A ON P.presu_id=A.presu2_id
LEFT JOIN prod_bundle B ON P.presu_id=B.prodbun_numero AND B.prodbun_tipo=0 AND A.presu_artiid=B.prodbun_id
WHERE P.presu_eliminado=0 AND P.presu_id =1
GROUP BY A.presu2_id;
Supongo que eso es lo que buscas. de lo contrario hay que revisar las condiciones de agrupamiento que usas.