Is it correct to use a preposition in this usage?
- Tommy doesn't need any shouting at, he does as he is told.
- Tommy doesn't need shouted at, he does as he is told.
Or is the preposition here redundant and even wrong?
The most correct and broadly acceptable way of phrasing this would be to add the infinitive to be:
Tommy doesn't need to be shouted at, he does as he is told.
The first version from your question is acceptable in colloquial speech, but the use of the phrasal verb "shouted at" in this way is slightly unusual and may be judged ungrammatical by some speakers.
The second version depends on dialect. There are dialects of English in which needs + PAST PARTICIPLE is idiomatic, and in these dialects Tommy doesn't need shouted at is probably a grammatical construction. But speakers from other dialects will probably find this to be ungrammatical as well.