This may be separation (which can happen in stages) and smegma. My son had something similar and he is 5. He couldn't even touch his penis, it hurt so much. I am very grateful for this forum because after reading many threads about foreskins, we decided to wait it out. He soaked in the bath a couple of times and in 24 hours was much improved. I can't say how long I would have felt comfortable waiting but I was thinking of waiting 24-48 hours.
I was much more afraid of American doctors than I was of his swollen penis.
One analogy that helped me was his foreskin is like a lip. If you get a little cut on your lip it swells up and can be very painful. When the foreskin is separating, it can be like a little scratch inside.
And last year, what was the cream? It may have helped or perhaps your son would have healed on his own without it and it seemed liked it helped.