Объяснять надо в спокойной обстановке. Когда ребенок вошел в штопор, вопит и рвется, сметая все вокруг - не самая лучшая идея объяснять "ну Васенька, так нельзя, я тебе говорила, так себя вести некрасиво, будь добр перестань, а то конфету не куплю". В это время ваша задача донести, что вся эта ситуация категорически неприемлема и заканчивается немедленно - резкое строгое "нет", потом только держите ребенка и никаких разговоров. Объяснять будете, когда из магазина выйдете, и не оъяснять "ой, ну что же ты, это же нехорошо", а отчитывать за плохое поведение. Я бы какие-нибудь санкции применила - не купить киндер, которого и так не было - это не наказание. Вот не дать мультик дома посмотреть, или еще какой-нибудь радости лишить - это внушение. И перед следующим заходом в магазин напомнить и проговорить это все еще раз - что именно и за что тогда было,так что милый, давай сегодня будет не так. Вы слишком мягко с сыном общаетесь судя по всему. Вот он и понимает - стенка мягкая, можно ее проломить. И продолжает долбиться головой. а вы не даете никаких поводов усомниться, что результат может быть другой - только лоб расшибешь.