Progmem..why is the data still there??

I wanted to try changing waveshapes so I added another wavetable in PROGMEM and changed the program accordingly but the program just acted the same.

This will not normally happen. I have done the same thing myself and have not seen this effect.

New code will overwrite old code in Program memory but if the new code is shorter than the old code there will be bits of the old code left. Loading new code will not cause blanking out of areas of memory that are not used by the new code. This should not affect your program as you should not be able to reference it. However, a rouge or hardwired pointer could under some circumstances access the remnants of old code.