I heard a little boy waving his hands above the water.
This sentence, as you suspected, could be incorrect. It all depends on how you meant it. If you are saying that you were listening to him wave it, then it would be a correct sentence. Because you are hearing the wave. Heard is a present participlepast subjunctive in this form.
If you are saying that you heard the boy, who can be defined as someone who was waving previously, then the following sentence will be correct.
I heard a little boy who was waving his hands above the water.
In this form, heard is past tense.
I saw a little boy drop his ice cream.
This sentence can be explained in the same way. Sawsaw is a present participlepast subjunctive.
I saw a little boy drop his ice cream.
It's explaining that you are in the act of watching him drop the ice cream. You saw the drop, not the boy.
If you had seen the boy, and could define him as someone who had dropped his ice cream, then you could say:
I saw a little boy who had dropped his ice cream.
In this form, saw is past tense.
As for switching tenses, read this article if you want more about it, but it can be a slippery slope and is not usually perfected easily.