I think there is another problem with the dirac_delta in Sage:
(previous problem is discussed in the thread Integration of dirac_delta)
Here is the problem:
var('a',"real")
f=integrate_delta(dirac_delta(a*x),x,-oo,oo);show(f)
returns 1/|a|
as expected.
But
var('a',"real")
f1=integral(dirac_delta(x^2-a^2),x,-oo,oo);show(f1)
gives the result 1/|a|
, where it should be 1/(2|a|)