There are good conceptual ways of seeing this, I think, without really doing any calculations.
Unfortunately, my grasp of these things is tenuous, and I am pressed for time these days, so I can only indicate a few lines of investigation in this direction. So, this will be a fairly crappy response, but it is the best I can do at the moment. I'd love to be able to explore this fully. The point is that there are answers to the original question.
I think there is a nice proof that involves some representation theory.
It is given somewhere in here, but I don't suppose you would want to read this paper (kind of heavy stuff):
http://www.maths.mq.edu.au/~street/CT90Como.pdf
I believe maybe this proof can be applied to the present case (by someone with more knowledge and time on their hands than myself).
Another theoretical argument that might work is that cos x and sin x are eigenvectors of a differentiation operator. So, this fact is analogous to the fact that the eigenvectors of a Hermitian matrix are orthogonal. Here's a little intro to that sort of thing:
http://en.wikipedia.org/wiki/Differential_operator
So, that sometimes gives you a beautiful way to show that functions are orthogonal without calculating the integral that defines orthogonality. Although, I guess that integral is done indirectly when you prove that the operator is self-adjoint.
And there is a third explanation that I came up with myself when I was studying signal processing. If you take the convolution of the two functions, it vanishes. The orthogonality relations can be obtained as a special case of that. As it stands, the argument is sort of circular, but there's a reason why you would expect the convolution to be zero.
Convolution is what you do to find how a linear time invariant system will respond to a given input. You convolve the input with the impulse-response (which is the response when the input is a delta function). So you feed one sine wave into the system whose impulse reponse is a sine wave with a different frequency. If the system is linear and time invariant, you would expect the output to be a sine wave with the same frequency as the input. But convolution is actually a commutative operation, so you could switch the role of the input and impulse response and get the same result. So, I have argued that the output has one frequency one way and another frequency the other way. Contradiction. Only way out is for the output to be 0 (you're free to let the amplitude be 0), so you are done.