Why not use a temp table:
SELECT obj_name, obj_type, obj_oid, MAX(act_aid) as max_act_aid
FROM bar_object, bar_action
WHERE obj_oid = act_oid
AND act_status = 0
GROUP BY obj_name, obj_type, obj_oid
INTO TEMP obj_act_temp WITH NO LOG;
SELECT obj_name, obj_type, obj_oid, m_act_aid, act_end
FROM obj_act_temp, bar_action
WHERE max_act_aid = act_aid;
DROP table obj_act_temp;