It could well be your EGR like you said.
The reason it won't ping when it is warming up is because the computer is operating the engine rich at that time. The PCM runs it rich so that the engine warms up faster--and the sooner the engine warms up, the faster the cats and O2s light off--and when this happens your vehicles emissions will reduce.
As soon as the cats and O2s reach their operating temps, the computer will lean out the mixture. The PCM will lean the mix according the inputs from sensors (like the O2 sensor, MAF, etc.). If you've got carbon buildup in the combustion chamber, this effectively raises the compression ratio of the engine because there's less space in there (it's taken up by carbon deposits). The PCM can't detect the smaller amount of combustion space, and so it will calculate the air/fuel ratio based on what cylinder area you should have. When "should havE" and "actual" don't match up thats when you can get ping problems. When you raise the compression ratio, you have to run higher and higher octane gas to prevent pinging. So carbon (or other things like bad EGR or dirty MAF) throws the whole system out of balance. So irregardless of what's causing your pinging, the reason is the PCM is effectively over-leaning. This doesnt necessarily mean the PCM is bad, it means that it's not getting all of the information it needs to calculate the best air/fuel ratio. Computer controlled engines are tuned so closely out of the factory, they are very finicky--so if 1 thing is out of kilter it can do it.