Agrega MIN(campo) o MAX(campo) y el GROUP BY te funcionará.
Código SQL
[-]
Select i.cod_insumo, min(i.descripcion), min(tasa_gcia), MAX(lp.fecha_ini)
From Insumos i LEFT OUTER JOIN Listas_Precios lp ON i.cod_insumo = lp.cod_insumo
Where i.cod_proveedor = 2
and i.estado = 'A' and lp.fecha_ini <= current_date
Group by i.cod_insumo