Integrating the kroneckerDelta sounds a bit weird, but it it it's allowe it should be consistent.
Define the Kronecker Delta and some test functions
y = [1;cos(x);exp(-x);exp(-1j*w*x)];
All of the test functions are equal to one at the origin, so I would expec that multiplying them by K(x) would return K(x).
Checking
isAlways(K.*y == K)
Warning: Unable to prove 'cos(x)*kroneckerDelta(x, 0) == kroneckerDelta(x, 0)'.
Why is the second entry not provable? Especially because
simplify(K.*y)
ans =

I would expect that all integrals of K*y(i) would either be zero or unevaluated. The first three do return zero, but the last one is unevaluated. What is unique about the last case?
int(K.*y,x,-10,10)
ans =

The anti-derivative yields a result in all four cases, though I don't understand what an anti-derivative of the Kronecker Delta would be. I'm very surprised that all of these were not returned as unevaluated. But, given that they are evaluated, and in light of the isAlways result above, why are the third and fourth entries different from the first and from each other?
A = int(K.*y,x)
A =

●